Files
CatServer/patches/net/minecraft/item/ItemLead.java.patch
2018-09-08 15:37:15 +08:00

36 lines
1.6 KiB
Diff

--- ../src-base/minecraft/net/minecraft/item/ItemLead.java
+++ ../src-work/minecraft/net/minecraft/item/ItemLead.java
@@ -1,5 +1,7 @@
package net.minecraft.item;
+import org.bukkit.event.hanging.HangingPlaceEvent;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockFence;
import net.minecraft.creativetab.CreativeTabs;
@@ -54,9 +56,24 @@
{
if (entityleashknot == null)
{
+ // CraftBukkit start - fire HangingPlaceEvent
entityleashknot = EntityLeashKnot.createKnot(worldIn, fence);
+ HangingPlaceEvent event = new HangingPlaceEvent((org.bukkit.entity.Hanging) entityleashknot.getBukkitEntity(), player != null ? (org.bukkit.entity.Player) player.getBukkitEntity() : null, worldIn.getWorld().getBlockAt(i, j, k), org.bukkit.block.BlockFace.SELF);
+ worldIn.getServer().getPluginManager().callEvent(event);
+
+ if (event.isCancelled()) {
+ entityleashknot.setDead();
+ return false;
+ }
+ // CraftBukkit end
}
+ // CraftBukkit start
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerLeashEntityEvent(entityliving, entityleashknot, player).isCancelled()) {
+ continue;
+ }
+ // CraftBukkit end
+
entityliving.setLeashedToEntity(entityleashknot, true);
flag = true;
}