testserver/CraftBukkit-Patches/0172-Force-Close-Inventory-...

53 lines
1.8 KiB
Diff

From cbfc57150639ba9254c567c4391904aa5ba6967b Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 10 Aug 2014 11:01:02 +1000
Subject: [PATCH] Force Close Inventory On Move
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 0e2bc03..e8bfc41 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -489,6 +489,12 @@ public class PlayerConnection implements PacketPlayInListener {
public void a(PacketPlayInBlockDig packetplayinblockdig) {
if (this.player.dead) return; // CraftBukkit
+ // Spigot start
+ if ( player.activeContainer != player.defaultContainer )
+ {
+ getPlayer().closeInventory();
+ }
+ // Spigot end
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
this.player.v();
@@ -615,6 +621,12 @@ public class PlayerConnection implements PacketPlayInListener {
// a notch bug where the item doesn't update correctly.
boolean always = false;
// CraftBukkit end
+ // Spigot start
+ if ( player.activeContainer != player.defaultContainer )
+ {
+ getPlayer().closeInventory();
+ }
+ // Spigot end
ItemStack itemstack = this.player.inventory.getItemInHand();
boolean flag = false;
@@ -1118,6 +1130,12 @@ public class PlayerConnection implements PacketPlayInListener {
return;
}
// Spigot End
+ // Spigot start
+ if ( player.activeContainer != player.defaultContainer )
+ {
+ getPlayer().closeInventory();
+ }
+ // Spigot end
this.player.v();
if (entity != null) {
--
1.9.1