41 lines
1.7 KiB
Diff
41 lines
1.7 KiB
Diff
From b310fa74d48b5a1f347cfbe393f5eb0ea1f14a0e Mon Sep 17 00:00:00 2001
|
|
From: md_5 <md_5@bigpond.com>
|
|
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.
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
|
index d647d2e..f948497 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;
|
|
@@ -961,6 +963,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.2.1
|
|
|