fix short int conversion
This commit is contained in:
parent
45631fa12a
commit
6408e678ff
@ -232,12 +232,19 @@ public final class CachedRegion implements IBlockTypeAccess {
|
||||
// 16 * 16 * 256 = 65536 so a short is enough
|
||||
// ^ haha jokes on leijurv, java doesn't have unsigned types so that isn't correct
|
||||
// also why would you have more than 32767 special blocks in a chunk
|
||||
short numSpecialBlockTypes = in.readShort();
|
||||
// haha double jokes on you now it works for 65535 not just 32767
|
||||
int numSpecialBlockTypes = in.readShort();
|
||||
if (numSpecialBlockTypes < 0) {
|
||||
numSpecialBlockTypes += 65536;
|
||||
}
|
||||
for (int i = 0; i < numSpecialBlockTypes; i++) {
|
||||
String blockName = in.readUTF();
|
||||
List<BlockPos> locs = new ArrayList<>();
|
||||
location[x][z].put(blockName, locs);
|
||||
short numLocations = in.readShort();
|
||||
int numLocations = in.readShort();
|
||||
if (numLocations < 0) {
|
||||
numLocations += 65536;
|
||||
}
|
||||
for (int j = 0; j < numLocations; j++) {
|
||||
byte xz = in.readByte();
|
||||
int X = xz & 0x0f;
|
||||
|
Loading…
Reference in New Issue
Block a user