diff options
author | md_5 <git@md-5.net> | 2016-03-01 08:32:46 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2016-03-01 09:32:45 +1100 |
commit | aa008dff0f9bedbe88e1fe79831776b0a52eb90a (patch) | |
tree | cb520e0f4cc5d683fb9b7fb95de37480a7443dfb /nms-patches/DataPaletteBlock.patch | |
parent | e1ebe524a78e27f6a2829ed4574fded3779094e1 (diff) | |
download | craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar.gz craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar.lz craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar.xz craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.zip |
Update to Minecraft 1.9
Diffstat (limited to 'nms-patches/DataPaletteBlock.patch')
-rw-r--r-- | nms-patches/DataPaletteBlock.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/nms-patches/DataPaletteBlock.patch b/nms-patches/DataPaletteBlock.patch new file mode 100644 index 00000000..d761b41d --- /dev/null +++ b/nms-patches/DataPaletteBlock.patch @@ -0,0 +1,25 @@ +--- a/net/minecraft/server/DataPaletteBlock.java ++++ b/net/minecraft/server/DataPaletteBlock.java +@@ -109,7 +109,21 @@ + int i1 = nibblearray1 == null ? 0 : nibblearray1.a(j, k, l); + int j1 = i1 << 12 | (abyte[i] & 255) << 4 | nibblearray.a(j, k, l); + +- this.setBlockIndex(i, (IBlockData) Block.REGISTRY_ID.fromId(j1)); ++ // CraftBukkit start - fix blocks with random data values (caused by plugins) ++ IBlockData data = Block.REGISTRY_ID.fromId(j1); ++ if (data == null) { ++ Block block = Block.getById(j1 >> 4); ++ if (block != null) { ++ try { ++ data = block.fromLegacyData(j1 & 0xF); ++ } catch (Exception ignored) { ++ data = block.getBlockData(); ++ } ++ } ++ } ++ this.setBlockIndex(i, data); ++ // this.setBlockIndex(i, (IBlockData) Block.REGISTRY_ID.fromId(j1)); ++ // CraftBukkit end + } + + } |