Add obfuscation helper patch to assist update process.
By: md_5 <git@md-5.net>
This commit is contained in:
63
CraftBukkit-Patches/0039-Properly-Close-Inventories.patch
Normal file
63
CraftBukkit-Patches/0039-Properly-Close-Inventories.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
From 051f0b21d9cdee96e11e7db6bb2577ef59bc69a9 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Thu, 27 Jun 2013 17:26:09 +1000
|
||||
Subject: [PATCH] Properly Close Inventories
|
||||
|
||||
Properly close inventories when unloading and switching worlds.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 96974b4..3fc83e5 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -760,6 +760,15 @@ public class Chunk {
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
TileEntity tileentity = (TileEntity) iterator.next();
|
||||
+ // Spigot Start
|
||||
+ if ( tileentity instanceof IInventory )
|
||||
+ {
|
||||
+ for ( org.bukkit.craftbukkit.entity.CraftHumanEntity h : new ArrayList<org.bukkit.craftbukkit.entity.CraftHumanEntity>( (List) ( (IInventory) tileentity ).getViewers() ) )
|
||||
+ {
|
||||
+ h.getHandle().closeInventory();
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot End
|
||||
|
||||
this.world.a(tileentity);
|
||||
}
|
||||
@@ -769,6 +778,15 @@ public class Chunk {
|
||||
java.util.Iterator<Object> iter = this.entitySlices[i].iterator();
|
||||
while (iter.hasNext()) {
|
||||
Entity entity = (Entity) iter.next();
|
||||
+ // Spigot Start
|
||||
+ if ( entity instanceof IInventory )
|
||||
+ {
|
||||
+ for ( org.bukkit.craftbukkit.entity.CraftHumanEntity h : new ArrayList<org.bukkit.craftbukkit.entity.CraftHumanEntity>( (List) ( (IInventory) entity ).getViewers() ) )
|
||||
+ {
|
||||
+ h.getHandle().closeInventory();
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot End
|
||||
|
||||
// Do not pass along players, as doing so can get them stuck outside of time.
|
||||
// (which for example disables inventory icon updates and prevents block breaking)
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
|
||||
index 9f3f196..439cf2e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
|
||||
@@ -149,6 +149,12 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
|
||||
}
|
||||
|
||||
public void b(int i) {
|
||||
+ // Spigot Start
|
||||
+ for ( HumanEntity human : new java.util.ArrayList<HumanEntity>( transaction ) )
|
||||
+ {
|
||||
+ human.closeInventory();
|
||||
+ }
|
||||
+ // Spigot End
|
||||
this.b = false;
|
||||
super.b(i);
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
Reference in New Issue
Block a user