| 
					
				 | 
			
			
				@@ -7,6 +7,8 @@ import java.lang.String; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.bukkit.scheduler.BukkitScheduler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.mcMMO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.util.blockmeta.ChunkletStore; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.gmail.nossr50.util.blockmeta.PrimitiveChunkletStore; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.util.blockmeta.PrimitiveExChunkletStore; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.util.blockmeta.PrimitiveChunkStore; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.gmail.nossr50.util.blockmeta.HashChunkletManager; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,7 +22,9 @@ public class BlockStoreConversionZDirectory implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private File xDir, dataDir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private HashChunkletManager manager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private HashChunkManager newManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private PrimitiveExChunkletStore currentChunklet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ChunkletStore tempChunklet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private PrimitiveChunkletStore primitiveChunklet = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private PrimitiveExChunkletStore primitiveExChunklet = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private PrimitiveChunkStore currentChunk; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean[] oldArray, newArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -80,8 +84,12 @@ public class BlockStoreConversionZDirectory implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(this.y = 0; this.y < 4; this.y++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.chunkletName = this.world.getName() + "," + this.cx + "," + this.cz + "," + this.y; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.currentChunklet = (PrimitiveExChunkletStore) this.manager.store.get(this.chunkletName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(this.currentChunklet == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    this.tempChunklet = this.manager.store.get(this.chunkletName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(this.tempChunklet instanceof PrimitiveChunkletStore) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.primitiveChunklet = (PrimitiveChunkletStore) this.tempChunklet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if(this.tempChunklet instanceof PrimitiveExChunkletStore) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.primitiveExChunklet = (PrimitiveExChunkletStore) this.tempChunklet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(this.tempChunklet == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.chunkName = this.world.getName() + "," + this.cx + "," + this.cz; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -113,7 +121,12 @@ public class BlockStoreConversionZDirectory implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for(this.x = 0; this.x < 16; this.x++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     for(this.z = 0; this.z < 16; this.z++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        this.oldArray = this.currentChunklet.store[x][z]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(this.primitiveChunklet != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            this.oldArray = this.primitiveChunklet.store[x][z]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(this.primitiveExChunklet != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            this.oldArray = this.primitiveExChunklet.store[x][z]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         this.newArray = this.currentChunk.store[x][z]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         System.arraycopy(this.oldArray, 0, this.newArray, (this.y * 64), 64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,7 +161,9 @@ public class BlockStoreConversionZDirectory implements Runnable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.manager = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.xDir = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.dataDir = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.currentChunklet = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tempChunklet = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.primitiveChunklet = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.primitiveExChunklet = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.currentChunk = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |