| 
					
				 | 
			
			
				@@ -15,7 +15,7 @@ public class PrimitiveChunkStore implements ChunkStore { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     transient private boolean dirty = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** X, Z, Y */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public boolean[][][] store; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static final int CURRENT_VERSION = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final int CURRENT_VERSION = 5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static final int MAGIC_NUMBER = 0xEA5EDEBB; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private int cx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private int cz; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -34,7 +34,7 @@ public class PrimitiveChunkStore implements ChunkStore { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.xBitShifts = 11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.zBitShifts = 7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.store = new boolean[16][16][this.worldHeight - 1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.store = new boolean[16][16][this.worldHeight]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         conversionNeeded = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,7 +139,23 @@ public class PrimitiveChunkStore implements ChunkStore { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         store = (boolean[][][]) in.readObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (fileVersionNumber < CURRENT_VERSION) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fixArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dirty = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void fixArray() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        boolean[][][] temp = this.store; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.store = new boolean[16][16][this.worldHeight]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(int x = 0; x < 16; x++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(int z = 0; z < 16; z++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(int y = 0; y < this.worldHeight; y++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        store[x][z][y] = temp[x][y][z]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    catch(Exception e) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |