diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java index d47755a0..33af06d4 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java @@ -64,9 +64,9 @@ public class CustomChunkGenerator extends InternalChunkGenerator { } char[] secBlkID = new char[4096]; // Allocate blk ID bytes short[] bdata = xbtypes[sec]; - // Loop through data, 2 blocks at a time for (int i = 0; i < bdata.length; i++) { - secBlkID[i] = (char) ((int)bdata[i] << 4); + Block b = Block.getById(bdata[i]); + secBlkID[i] = (char) Block.d.b(b.getBlockData()); } // Build chunk section csect[sec] = new ChunkSection(sec << 4, true, secBlkID); @@ -88,7 +88,8 @@ public class CustomChunkGenerator extends InternalChunkGenerator { char[] secBlkID = new char[4096]; // Allocate block ID bytes for (int i = 0; i < secBlkID.length; i++) { - secBlkID[i] = (char)(((int) btypes[sec][i]) << 4); + Block b = Block.getById(btypes[sec][i]); + secBlkID[i] = (char) Block.d.b(b.getBlockData()); } csect[sec] = new ChunkSection(sec << 4, true, secBlkID); } @@ -123,7 +124,9 @@ public class CustomChunkGenerator extends InternalChunkGenerator { cs = csect[sec] = new ChunkSection(sec << 4, true); csbytes = cs.getIdArray(); } - csbytes[(cy << 8) | (cz << 4) | cx] = (char)((int)blk << 4); + + Block b = Block.getById(blk); + csbytes[(cy << 8) | (cz << 4) | cx] = (char) Block.d.b(b.getBlockData()); } } } |