mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-12-30 20:48:19 +01:00
Merge pull request #299 from Glitchfinder/master
Fixing index error. Better not do this all night, I'm not sticking around for that much :I
This commit is contained in:
commit
b8d37cb223
@ -105,10 +105,13 @@ public class BlockStoreConversionZDirectory implements Runnable {
|
|||||||
this.czPos = this.zPos + this.z;
|
this.czPos = this.zPos + this.z;
|
||||||
|
|
||||||
for(this.y2 = (64 * this.y); this.y2 < (64 * this.y + 64); this.y2++) {
|
for(this.y2 = (64 * this.y); this.y2 < (64 * this.y + 64); this.y2++) {
|
||||||
if(!this.manager.isTrue(this.cxPos, this.y2, this.czPos, this.world))
|
try {
|
||||||
continue;
|
if(!this.manager.isTrue(this.cxPos, this.y2, this.czPos, this.world))
|
||||||
|
continue;
|
||||||
|
|
||||||
this.newManager.setTrue(this.cxPos, this.y2, this.czPos, this.world);
|
this.newManager.setTrue(this.cxPos, this.y2, this.czPos, this.world);
|
||||||
|
}
|
||||||
|
catch(Exception e) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ public class PrimitiveChunkStore implements ChunkStore {
|
|||||||
transient private boolean dirty = false;
|
transient private boolean dirty = false;
|
||||||
/** X, Z, Y */
|
/** X, Z, Y */
|
||||||
public boolean[][][] store;
|
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 static final int MAGIC_NUMBER = 0xEA5EDEBB;
|
||||||
private int cx;
|
private int cx;
|
||||||
private int cz;
|
private int cz;
|
||||||
@ -34,7 +34,7 @@ public class PrimitiveChunkStore implements ChunkStore {
|
|||||||
this.xBitShifts = 11;
|
this.xBitShifts = 11;
|
||||||
this.zBitShifts = 7;
|
this.zBitShifts = 7;
|
||||||
|
|
||||||
this.store = new boolean[16][16][this.worldHeight - 1];
|
this.store = new boolean[16][16][this.worldHeight];
|
||||||
|
|
||||||
conversionNeeded = false;
|
conversionNeeded = false;
|
||||||
}
|
}
|
||||||
@ -139,7 +139,23 @@ public class PrimitiveChunkStore implements ChunkStore {
|
|||||||
store = (boolean[][][]) in.readObject();
|
store = (boolean[][][]) in.readObject();
|
||||||
|
|
||||||
if (fileVersionNumber < CURRENT_VERSION) {
|
if (fileVersionNumber < CURRENT_VERSION) {
|
||||||
|
fixArray();
|
||||||
dirty = true;
|
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) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user