From d7bf36422c9749eb335e8a025f59fa4c2e6e7d8c Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 23 Dec 2012 17:09:40 +1100 Subject: [PATCH 03/15] Address BUKKIT-3286 by firing the inventory close event when a secondary container is closed due to the player entity being destroyed. This covers all edge cases such as server stop / player kick / player quit. --- src/main/java/net/minecraft/server/EntityHuman.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java index 8566391..0b0c351 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -4,10 +4,12 @@ import java.util.Iterator; import java.util.List; // CraftBukkit start +import org.bukkit.Bukkit; import org.bukkit.craftbukkit.entity.CraftItem; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.event.entity.EntityCombustByEntityEvent; +import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.player.PlayerBedEnterEvent; import org.bukkit.event.player.PlayerBedLeaveEvent; import org.bukkit.event.player.PlayerDropItemEvent; @@ -882,6 +884,10 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen super.die(); this.defaultContainer.b(this); if (this.activeContainer != null) { + // CraftBukkit start + InventoryCloseEvent event = new InventoryCloseEvent(this.activeContainer.getBukkitView()); + Bukkit.getServer().getPluginManager().callEvent(event); + // CraftBukkit end this.activeContainer.b(this); } } -- 1.8.1-rc2