--- ../src-base/minecraft/net/minecraft/item/ItemLead.java +++ ../src-work/minecraft/net/minecraft/item/ItemLead.java @@ -10,6 +10,8 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +import org.bukkit.event.hanging.HangingPlaceEvent; // CraftBukkit + public class ItemLead extends Item { private static final String __OBFID = "CL_00000045"; @@ -61,8 +63,26 @@ if (entityleashknot == null) { entityleashknot = EntityLeashKnot.func_110129_a(p_150909_1_, p_150909_2_, p_150909_3_, p_150909_4_); + // CraftBukkit start + HangingPlaceEvent event = new HangingPlaceEvent((org.bukkit.entity.Hanging) entityleashknot.getBukkitEntity(), p_150909_0_ != null ? (org.bukkit.entity.Player) p_150909_0_.getBukkitEntity() : null, p_150909_1_.getWorld().getBlockAt(p_150909_2_, p_150909_3_, p_150909_4_), org.bukkit.block.BlockFace.SELF); + p_150909_1_.getServer().getPluginManager().callEvent(event); + + if (event.isCancelled()) + { + entityleashknot.setDead(); + return false; + } + + // CraftBukkit end } + // CraftBukkit start + if (org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerLeashEntityEvent(entityliving, entityleashknot, p_150909_0_).isCancelled()) + { + continue; + } + + // CraftBukkit end entityliving.setLeashedToEntity(entityleashknot, true); flag = true; }