mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 23:26:45 +01:00
Fixing a potential error with legacy chunklet types.
This commit is contained in:
parent
eb5ac80714
commit
83e072dad1
@ -7,6 +7,8 @@ import java.lang.String;
|
|||||||
import org.bukkit.scheduler.BukkitScheduler;
|
import org.bukkit.scheduler.BukkitScheduler;
|
||||||
|
|
||||||
import com.gmail.nossr50.mcMMO;
|
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.PrimitiveExChunkletStore;
|
||||||
import com.gmail.nossr50.util.blockmeta.PrimitiveChunkStore;
|
import com.gmail.nossr50.util.blockmeta.PrimitiveChunkStore;
|
||||||
import com.gmail.nossr50.util.blockmeta.HashChunkletManager;
|
import com.gmail.nossr50.util.blockmeta.HashChunkletManager;
|
||||||
@ -20,7 +22,9 @@ public class BlockStoreConversionZDirectory implements Runnable {
|
|||||||
private File xDir, dataDir;
|
private File xDir, dataDir;
|
||||||
private HashChunkletManager manager;
|
private HashChunkletManager manager;
|
||||||
private HashChunkManager newManager;
|
private HashChunkManager newManager;
|
||||||
private PrimitiveExChunkletStore currentChunklet;
|
private ChunkletStore tempChunklet;
|
||||||
|
private PrimitiveChunkletStore primitiveChunklet = null;
|
||||||
|
private PrimitiveExChunkletStore primitiveExChunklet = null;
|
||||||
private PrimitiveChunkStore currentChunk;
|
private PrimitiveChunkStore currentChunk;
|
||||||
private boolean[] oldArray, newArray;
|
private boolean[] oldArray, newArray;
|
||||||
|
|
||||||
@ -80,8 +84,12 @@ public class BlockStoreConversionZDirectory implements Runnable {
|
|||||||
|
|
||||||
for(this.y = 0; this.y < 4; this.y++) {
|
for(this.y = 0; this.y < 4; this.y++) {
|
||||||
this.chunkletName = this.world.getName() + "," + this.cx + "," + this.cz + "," + this.y;
|
this.chunkletName = this.world.getName() + "," + this.cx + "," + this.cz + "," + this.y;
|
||||||
this.currentChunklet = (PrimitiveExChunkletStore) this.manager.store.get(this.chunkletName);
|
this.tempChunklet = this.manager.store.get(this.chunkletName);
|
||||||
if(this.currentChunklet == null) {
|
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;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
this.chunkName = this.world.getName() + "," + this.cx + "," + this.cz;
|
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.x = 0; this.x < 16; this.x++) {
|
||||||
for(this.z = 0; this.z < 16; this.z++) {
|
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];
|
this.newArray = this.currentChunk.store[x][z];
|
||||||
System.arraycopy(this.oldArray, 0, this.newArray, (this.y * 64), 64);
|
System.arraycopy(this.oldArray, 0, this.newArray, (this.y * 64), 64);
|
||||||
}
|
}
|
||||||
@ -148,7 +161,9 @@ public class BlockStoreConversionZDirectory implements Runnable {
|
|||||||
this.manager = null;
|
this.manager = null;
|
||||||
this.xDir = null;
|
this.xDir = null;
|
||||||
this.dataDir = null;
|
this.dataDir = null;
|
||||||
this.currentChunklet = null;
|
this.tempChunklet = null;
|
||||||
|
this.primitiveChunklet = null;
|
||||||
|
this.primitiveExChunklet = null;
|
||||||
this.currentChunk = null;
|
this.currentChunk = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user