From a32a925ad6864721c2a21eb53d815a89d881f2b1 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 23 Dec 2012 17:09:40 +1100 Subject: [PATCH] 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. --- .../java/net/minecraft/server/EntityHuman.java | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java index 101c2a0..76cfc2a 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -5,11 +5,13 @@ import java.util.Iterator; import java.util.List; // CraftBukkit start +import org.bukkit.Bukkit; import org.bukkit.craftbukkit.entity.CraftHumanEntity; import org.bukkit.craftbukkit.entity.CraftItem; import org.bukkit.craftbukkit.inventory.CraftItemStack; 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; @@ -941,6 +943,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.7.0.4