End of file magic values are bad change my mind

This commit is contained in:
Brady 2018-08-23 20:09:40 -05:00
parent e778a79a7b
commit c3009b46a8
No known key found for this signature in database
GPG Key ID: 73A788379A197567

View File

@ -160,7 +160,6 @@ public final class CachedRegion implements IBlockTypeAccess {
} }
} }
} }
out.writeInt(~CACHED_REGION_MAGIC);
} }
hasUnsavedChanges = false; hasUnsavedChanges = false;
System.out.println("Saved region successfully"); System.out.println("Saved region successfully");
@ -231,6 +230,8 @@ public final class CachedRegion implements IBlockTypeAccess {
for (int x = 0; x < 32; x++) { for (int x = 0; x < 32; x++) {
if (tmpCached[x][z] != null) { if (tmpCached[x][z] != null) {
// 16 * 16 * 256 = 65536 so a short is enough // 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 ur gay if u have more than 32767 special blocks in a chunk
short numSpecialBlockTypes = in.readShort(); short numSpecialBlockTypes = in.readShort();
for (int i = 0; i < numSpecialBlockTypes; i++) { for (int i = 0; i < numSpecialBlockTypes; i++) {
String blockName = in.readUTF(); String blockName = in.readUTF();
@ -251,10 +252,6 @@ public final class CachedRegion implements IBlockTypeAccess {
} }
} }
} }
int fileEndMagic = in.readInt();
if (fileEndMagic != ~magic) {
throw new IOException("Bad end of file magic");
}
// only if the entire file was uncorrupted do we actually set the chunks // only if the entire file was uncorrupted do we actually set the chunks
for (int x = 0; x < 32; x++) { for (int x = 0; x < 32; x++) {
for (int z = 0; z < 32; z++) { for (int z = 0; z < 32; z++) {