diff --git a/Spigot-Server-Patches/0270-Close-Structure-Window-when-PlayerInteractEvent-is-c.patch b/Spigot-Server-Patches/0270-Close-Structure-Window-when-PlayerInteractEvent-is-c.patch new file mode 100644 index 000000000..057d12d0a --- /dev/null +++ b/Spigot-Server-Patches/0270-Close-Structure-Window-when-PlayerInteractEvent-is-c.patch @@ -0,0 +1,23 @@ +From 1330ff87275e1668d5a00204e51ac07e86497190 Mon Sep 17 00:00:00 2001 +From: Shane Freeder +Date: Sun, 11 Feb 2018 10:43:46 +0000 +Subject: [PATCH] Close Structure Window when PlayerInteractEvent is cancelled + +This is opened on the client, and so we send a CloseWindow packet + +diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java +index 5ec7f5819..08b1dc0b2 100644 +--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java ++++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java +@@ -468,6 +468,8 @@ public class PlayerInteractManager { + ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, bottom ? blockposition.up() : blockposition.down())); + } else if (blockdata.getBlock() instanceof BlockCake) { + ((EntityPlayer) entityhuman).getBukkitEntity().sendHealthUpdate(); // SPIGOT-1341 - reset health for cake ++ } else if (blockdata.getBlock() instanceof BlockStructure) { // Paper - close Structure window when PIE is cancelled ++ ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutCloseWindow()); // Paper - close Structure window when PIE is cancelled + } + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); // SPIGOT-2867 + enuminteractionresult = (event.useItemInHand() != Event.Result.ALLOW) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS; +-- +2.16.1 +