33 Zeilen
1.4 KiB
Diff
33 Zeilen
1.4 KiB
Diff
|
@@ -4,6 +4,12 @@
|
||
|
import java.util.Set;
|
||
|
import java.util.UUID;
|
||
|
|
||
|
+// CraftBukkit start
|
||
|
+import org.bukkit.Location;
|
||
|
+import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||
|
+import org.bukkit.event.entity.EntityTeleportEvent;
|
||
|
+// CraftBukkit end
|
||
|
+
|
||
|
public class EntityEnderman extends EntityMonster {
|
||
|
|
||
|
private static final UUID b = UUID.fromString("020E0DFB-87AE-4653-9556-831010E291A0");
|
||
|
@@ -165,7 +171,17 @@
|
||
|
}
|
||
|
|
||
|
if (flag1) {
|
||
|
- super.enderTeleportTo(this.locX, this.locY, this.locZ);
|
||
|
+ // CraftBukkit start - Teleport event
|
||
|
+ // super.enderTeleportTo(this.locX, this.locY, this.locZ);
|
||
|
+ EntityTeleportEvent teleport = new EntityTeleportEvent(this.getBukkitEntity(), new Location(this.world.getWorld(), d3, d4, d5), new Location(this.world.getWorld(), this.locX, this.locY, this.locZ));
|
||
|
+ this.world.getServer().getPluginManager().callEvent(teleport);
|
||
|
+ if (teleport.isCancelled()) {
|
||
|
+ return false;
|
||
|
+ }
|
||
|
+
|
||
|
+ Location to = teleport.getTo();
|
||
|
+ this.enderTeleportTo(to.getX(), to.getY(), to.getZ());
|
||
|
+ // CraftBukkit end
|
||
|
if (this.world.getCubes(this, this.getBoundingBox()).isEmpty() && !this.world.containsLiquid(this.getBoundingBox())) {
|
||
|
flag = true;
|
||
|
}
|