ForgePatch/patches/common/net/minecraft/src/Packet56MapChunks.java.patch
2012-08-19 17:41:21 -07:00

17 lines
763 B
Diff

--- ../src_base/common/net/minecraft/src/Packet56MapChunks.java
+++ ../src_work/common/net/minecraft/src/Packet56MapChunks.java
@@ -121,7 +121,13 @@
var7 += this.field_73590_a[var6] >> var8 & 1;
}
- var8 = 2048 * 5 * var7 + 256;
+ int msb = 0; //BugFix: MC does not read the MSB array from the packet properly, causing issues for servers that use blocks > 256
+ for (int x = 0; x < 16; x++)
+ {
+ msb += (field_73588_b[var6] >> x) & 1;
+ }
+
+ var8 = 2048 * 5 * var7 + (2048 * msb) + 256;
this.field_73584_f[var6] = new byte[var8];
System.arraycopy(var3, var5, this.field_73584_f[var6], 0, var8);
var5 += var8;