118 lines
5.2 KiB
Diff
118 lines
5.2 KiB
Diff
From 0bcee56565bb69620125c4ec9c7938f395cc8c47 Mon Sep 17 00:00:00 2001
|
|
From: bloodshot <jdroque@gmail.com>
|
|
Date: Mon, 6 Jan 2014 16:29:51 -0500
|
|
Subject: [PATCH] Update Chest Animation when Cancelling Event
|
|
|
|
Update chest animation after cancelling InventoryOpenEvent. Fixes BUKKIT-1440
|
|
|
|
Currently if a plugin cancels an InventoryOpenEvent for vanilla chests,
|
|
the chest animation for clients is stuck in the open state since
|
|
IInventory's closeChest method is never called. To fix the issue, closeChest
|
|
is called before exiting the display GUI method.
|
|
More info can be found here
|
|
https://bukkit.atlassian.net/browse/BUKKIT-1440
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
index 994edde..982a696 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
@@ -635,7 +635,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerChest(this.inventory, iinventory));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ iinventory.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
this.nextContainerCounter();
|
|
@@ -648,7 +651,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
public void openHopper(TileEntityHopper tileentityhopper) {
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerHopper(this.inventory, tileentityhopper));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ tileentityhopper.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
this.nextContainerCounter();
|
|
@@ -661,7 +667,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
public void openMinecartHopper(EntityMinecartHopper entityminecarthopper) {
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerHopper(this.inventory, entityminecarthopper));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ entityminecarthopper.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
this.nextContainerCounter();
|
|
@@ -674,7 +683,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
public void openFurnace(TileEntityFurnace tileentityfurnace) {
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerFurnace(this.inventory, tileentityfurnace));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ tileentityfurnace.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
this.nextContainerCounter();
|
|
@@ -687,7 +699,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
public void openDispenser(TileEntityDispenser tileentitydispenser) {
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerDispenser(this.inventory, tileentitydispenser));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ tileentitydispenser.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
this.nextContainerCounter();
|
|
@@ -700,7 +715,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
public void openBrewingStand(TileEntityBrewingStand tileentitybrewingstand) {
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerBrewingStand(this.inventory, tileentitybrewingstand));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ tileentitybrewingstand.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
this.nextContainerCounter();
|
|
@@ -713,7 +731,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
public void openBeacon(TileEntityBeacon tileentitybeacon) {
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerBeacon(this.inventory, tileentitybeacon));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ tileentitybeacon.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
this.nextContainerCounter();
|
|
@@ -756,7 +777,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
public void openHorseInventory(EntityHorse entityhorse, IInventory iinventory) {
|
|
// CraftBukkit start - Inventory open hook
|
|
Container container = CraftEventFactory.callInventoryOpenEvent(this, new ContainerHorse(this.inventory, iinventory, entityhorse));
|
|
- if(container == null) return;
|
|
+ if(container == null) {
|
|
+ iinventory.l_();
|
|
+ return;
|
|
+ }
|
|
// CraftBukkit end
|
|
|
|
if (this.activeContainer != this.defaultContainer) {
|
|
--
|
|
1.8.5.2.msysgit.0
|
|
|