浏览代码

Fix error with pistons retracting near top of world. Fixes #3172

t00thpick1 7 年之前
父节点
当前提交
e0bbe9cea4
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      src/main/java/com/gmail/nossr50/util/blockmeta/chunkmeta/PrimitiveChunkStore.java

+ 6 - 0
src/main/java/com/gmail/nossr50/util/blockmeta/chunkmeta/PrimitiveChunkStore.java

@@ -12,6 +12,7 @@ import com.gmail.nossr50.util.blockmeta.ChunkletStore;
 public class PrimitiveChunkStore implements ChunkStore {
     private static final long serialVersionUID = -1L;
     transient private boolean dirty = false;
+    transient private int maxZ;
     /** X, Z, Y */
     public boolean[][][] store;
     private static final int CURRENT_VERSION = 7;
@@ -24,6 +25,7 @@ public class PrimitiveChunkStore implements ChunkStore {
         this.cx = cx;
         this.cz = cz;
         this.worldUid = world.getUID();
+        this.maxZ = world.getMaxHeight() - 1;
         this.store = new boolean[16][16][world.getMaxHeight()];
     }
 
@@ -54,12 +56,16 @@ public class PrimitiveChunkStore implements ChunkStore {
 
     @Override
     public void setTrue(int x, int y, int z) {
+        if (z > maxZ)
+            return;
         store[x][z][y] = true;
         dirty = true;
     }
 
     @Override
     public void setFalse(int x, int y, int z) {
+        if (z > maxZ)
+            return;
         store[x][z][y] = false;
         dirty = true;
     }