summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/PlayerConnection.java
diff options
context:
space:
mode:
authorTravis Watkins <amaranth@ubuntu.com>2013-05-02 06:05:54 -0500
committerTravis Watkins <amaranth@ubuntu.com>2013-05-02 06:28:51 -0500
commit401a6809be71112f35f811fedb79e1210c87a656 (patch)
tree7f0d7067f91972743d37a55839d42ef2aab756c5 /src/main/java/net/minecraft/server/PlayerConnection.java
parent75641a607e6878dfd98f808e4f7b01441c3dea18 (diff)
downloadcraftbukkit-401a6809be71112f35f811fedb79e1210c87a656.tar
craftbukkit-401a6809be71112f35f811fedb79e1210c87a656.tar.gz
craftbukkit-401a6809be71112f35f811fedb79e1210c87a656.tar.lz
craftbukkit-401a6809be71112f35f811fedb79e1210c87a656.tar.xz
craftbukkit-401a6809be71112f35f811fedb79e1210c87a656.zip
Improve InventoryCloseEvent handling. Fixes BUKKIT-3286
Currently there are several cases where a player will have their inventory screen closed client side but we will not call an event. To correct this we call the event when the server is the cause of the inventory closing instead of just when the client is the cause. We also ensure the server is closing the inventory reliably so we get the events. Additionally this commit also calls the event when a player disconnects which will handle kicks, quits, and server shutdown.
Diffstat (limited to 'src/main/java/net/minecraft/server/PlayerConnection.java')
-rw-r--r--src/main/java/net/minecraft/server/PlayerConnection.java7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 55873f59..5d103824 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -27,7 +27,6 @@ import org.bukkit.event.Event;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryType.SlotType;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerAnimationEvent;
@@ -1144,11 +1143,7 @@ public class PlayerConnection extends Connection {
public void handleContainerClose(Packet101CloseWindow packet101closewindow) {
if (this.player.dead) return; // CraftBukkit
- // CraftBukkit start
- InventoryCloseEvent event = new InventoryCloseEvent(this.player.activeContainer.getBukkitView());
- server.getPluginManager().callEvent(event);
- this.player.activeContainer.transferTo(this.player.defaultContainer, getPlayer());
- // CraftBukkit end
+ CraftEventFactory.handleInventoryCloseEvent(this.player); // CraftBukkit
this.player.j();
}