SPIGOT-4212: EntityInteractEvent when an entity tries to interact with a door

This commit is contained in:
Nathan Wolf 2018-08-02 16:18:11 -07:00 committed by md_5
parent 2f17f677aa
commit 7dc4738528

View file

@ -0,0 +1,17 @@
--- a/net/minecraft/server/PathfinderGoalDoorInteract.java
+++ b/net/minecraft/server/PathfinderGoalDoorInteract.java
@@ -37,6 +37,14 @@
IBlockData iblockdata = this.a.world.getType(this.b);
if (iblockdata.getBlock() instanceof BlockDoor) {
+ // CraftBukkit start - entities opening doors
+ org.bukkit.event.entity.EntityInteractEvent event = new org.bukkit.event.entity.EntityInteractEvent(this.a.getBukkitEntity(), this.a.world.getWorld().getBlockAt(this.b.getX(), this.b.getY(), this.b.getZ()));
+ this.a.world.getServer().getPluginManager().callEvent(event);
+ if (event.isCancelled()) {
+ return;
+ }
+ // CaftBukkit end
+
((BlockDoor) iblockdata.getBlock()).setDoor(this.a.world, this.b, flag);
}
}