From 50b4cb8e723eb5b0a05fc5113ea3e9c5121bc6ea Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 6 Mar 2016 12:34:51 +1100 Subject: [PATCH] SPIGOT-1749 / MC-99075: Call updateInventory as a temporary workaround for cancelled BlockPlaceEvent --- nms-patches/ItemStack.patch | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nms-patches/ItemStack.patch b/nms-patches/ItemStack.patch index b271b49bd1..422f1c2ae9 100644 --- a/nms-patches/ItemStack.patch +++ b/nms-patches/ItemStack.patch @@ -39,7 +39,7 @@ } -@@ -84,11 +101,129 @@ +@@ -84,11 +101,131 @@ } public EnumInteractionResult placeItem(EntityHuman entityhuman, World world, BlockPosition blockposition, EnumHand enumhand, EnumDirection enumdirection, float f, float f1, float f2) { @@ -104,6 +104,8 @@ + + if (placeEvent != null && (placeEvent.isCancelled() || !placeEvent.canBuild())) { + enuminteractionresult = EnumInteractionResult.FAIL; // cancel placement ++ // PAIL: Remove this when MC-99075 fixed ++ placeEvent.getPlayer().updateInventory(); + // revert back all captured blocks + for (BlockState blockstate : blocks) { + blockstate.update(true, false); @@ -170,7 +172,7 @@ return enuminteractionresult; } -@@ -112,7 +247,7 @@ +@@ -112,7 +249,7 @@ nbttagcompound.setByte("Count", (byte) this.count); nbttagcompound.setShort("Damage", (short) this.damage); if (this.tag != null) { @@ -179,7 +181,7 @@ } return nbttagcompound; -@@ -121,13 +256,18 @@ +@@ -121,13 +258,18 @@ public void c(NBTTagCompound nbttagcompound) { this.item = Item.d(nbttagcompound.getString("id")); this.count = nbttagcompound.getByte("Count"); @@ -199,7 +201,7 @@ if (this.item != null) { this.item.a(this.tag); } -@@ -164,9 +304,29 @@ +@@ -164,9 +306,29 @@ } public void setData(int i) { @@ -230,7 +232,7 @@ } } -@@ -216,6 +376,12 @@ +@@ -216,6 +378,12 @@ this.count = 0; } @@ -243,7 +245,7 @@ this.damage = 0; } -@@ -513,6 +679,7 @@ +@@ -513,6 +681,7 @@ public void setItem(Item item) { this.item = item;