summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nms-patches/ItemBlock.patch5
1 files changed, 3 insertions, 2 deletions
diff --git a/nms-patches/ItemBlock.patch b/nms-patches/ItemBlock.patch
index b0bf1a67..ac90114c 100644
--- a/nms-patches/ItemBlock.patch
+++ b/nms-patches/ItemBlock.patch
@@ -21,15 +21,16 @@
itemstack.subtract(1);
return EnumInteractionResult.SUCCESS;
}
-@@ -64,7 +69,14 @@
+@@ -64,7 +69,15 @@
}
protected boolean b(BlockActionContext blockactioncontext, IBlockData iblockdata) {
- return iblockdata.canPlace(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()) && blockactioncontext.getWorld().a(iblockdata, blockactioncontext.getClickPosition());
+ // CraftBukkit start - store default return
+ boolean defaultReturn = iblockdata.canPlace(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()) && blockactioncontext.getWorld().a(iblockdata, blockactioncontext.getClickPosition());
++ org.bukkit.entity.Player player = (blockactioncontext.getEntity() instanceof EntityPlayer) ? (org.bukkit.entity.Player) blockactioncontext.getEntity().getBukkitEntity() : null;
+
-+ BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), CraftBlockData.fromData(iblockdata), defaultReturn);
++ BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), player, CraftBlockData.fromData(iblockdata), defaultReturn);
+ blockactioncontext.getWorld().getServer().getPluginManager().callEvent(event);
+
+ return event.isBuildable();