summaryrefslogtreecommitdiffstats
path: root/nms-patches/Chunk.patch
diff options
context:
space:
mode:
authorThinkofdeath <thinkofdeath@spigotmc.org>2015-03-16 09:48:01 +0000
committerThinkofdeath <thinkofdeath@spigotmc.org>2015-03-16 09:48:01 +0000
commit55f3a3ea9ec37f4d6963abe993ce05f8a03e1d56 (patch)
treecb28b69b8b4a15016aed78767fe9e1b436ce65b8 /nms-patches/Chunk.patch
parent7f609b12b9d82186852052973d1a11e90eb78ad0 (diff)
downloadcraftbukkit-55f3a3ea9ec37f4d6963abe993ce05f8a03e1d56.tar
craftbukkit-55f3a3ea9ec37f4d6963abe993ce05f8a03e1d56.tar.gz
craftbukkit-55f3a3ea9ec37f4d6963abe993ce05f8a03e1d56.tar.lz
craftbukkit-55f3a3ea9ec37f4d6963abe993ce05f8a03e1d56.tar.xz
craftbukkit-55f3a3ea9ec37f4d6963abe993ce05f8a03e1d56.zip
Capture tile entities and only place them in the event succeeds
Diffstat (limited to 'nms-patches/Chunk.patch')
-rw-r--r--nms-patches/Chunk.patch27
1 files changed, 22 insertions, 5 deletions
diff --git a/nms-patches/Chunk.patch b/nms-patches/Chunk.patch
index e78d136c..9998e15a 100644
--- a/nms-patches/Chunk.patch
+++ b/nms-patches/Chunk.patch
@@ -1,5 +1,5 @@
---- /home/matt/mc-dev-private//net/minecraft/server/Chunk.java 2015-03-15 21:30:40.204367362 +0000
-+++ src/main/java/net/minecraft/server/Chunk.java 2015-03-15 21:30:40.216367361 +0000
+--- /home/matt/mc-dev-private//net/minecraft/server/Chunk.java 2015-03-16 09:47:02.911222177 +0000
++++ src/main/java/net/minecraft/server/Chunk.java 2015-03-16 09:47:02.911222177 +0000
@@ -14,6 +14,9 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -112,7 +112,24 @@
entity.die();
}
-@@ -697,6 +744,13 @@
+@@ -662,7 +709,15 @@
+ }
+
+ public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) {
+- TileEntity tileentity = (TileEntity) this.tileEntities.get(blockposition);
++ // CraftBukkit start
++ TileEntity tileentity = null;
++ if (world.captureBlockStates) {
++ tileentity = world.capturedTileEntities.get(blockposition);
++ }
++ if (tileentity == null) {
++ tileentity = (TileEntity) this.tileEntities.get(blockposition);
++ }
++ // CraftBukkit end
+
+ if (tileentity == null) {
+ if (chunk_enumtileentitystate == Chunk.EnumTileEntityState.IMMEDIATE) {
+@@ -697,6 +752,13 @@
tileentity.D();
this.tileEntities.put(blockposition, tileentity);
@@ -126,7 +143,7 @@
}
}
-@@ -740,7 +794,21 @@
+@@ -740,7 +802,21 @@
}
for (int i = 0; i < this.entitySlices.length; ++i) {
@@ -149,7 +166,7 @@
}
}
-@@ -798,8 +866,8 @@
+@@ -798,8 +874,8 @@
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();