From a18199d7ee98c2917e6ae150a6d19ad8173416f2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java index 002da2a19..9f3aa2459 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -150,7 +150,7 @@ public class BlockPosition extends BaseBlockPosition { return a(Math.min(blockposition.getX(), blockposition1.getX()), Math.min(blockposition.getY(), blockposition1.getY()), Math.min(blockposition.getZ(), blockposition1.getZ()), Math.max(blockposition.getX(), blockposition1.getX()), Math.max(blockposition.getY(), blockposition1.getY()), Math.max(blockposition.getZ(), blockposition1.getZ())); } - public static Iterable a(int i, int j, int k, int l, int i1, int j1) { + public static Iterable a(int x0, int y0, int z0, int l, int i1, int j1) { return () -> { return new AbstractIterator() { private boolean g = true; @@ -161,21 +161,21 @@ public class BlockPosition extends BaseBlockPosition { protected BlockPosition a() { if (this.g) { this.g = false; - this.h = i; - this.i = j; - this.j = k; - return new BlockPosition(i, j, k); + this.h = x0; + this.i = y0; + this.j = z0; + return new BlockPosition(x0, y0, z0); } else if (this.h == l && this.i == i1 && this.j == j1) { return (BlockPosition) this.endOfData(); } else { if (this.h < l) { ++this.h; } else if (this.i < i1) { - this.h = i; + this.h = x0; ++this.i; } else if (this.j < j1) { - this.h = i; - this.i = j; + this.h = x0; + this.i = y0; ++this.j; } @@ -213,8 +213,11 @@ public class BlockPosition extends BaseBlockPosition { if (this.g.b < l) { ++this.g.b; } else if (this.g.c < i1) { + this.g.b = i; // Paper - Readd line removed by the decompiler ++this.g.c; } else if (this.g.d < j1) { + this.g.b = i; // Paper - Readd line removed by the decompiler + this.g.c = j; // Paper - Readd line removed by the decompiler ++this.g.d; } diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java index a661789c1..785a1a218 100644 --- a/src/main/java/net/minecraft/server/DefinedStructure.java +++ b/src/main/java/net/minecraft/server/DefinedStructure.java @@ -88,7 +88,7 @@ public class DefinedStructure { } private void a(World world, BlockPosition blockposition, BlockPosition blockposition1) { - List list = world.a(Entity.class, new AxisAlignedBB(blockposition, blockposition1), (entity) -> { + List list = world.a(Entity.class, new AxisAlignedBB(blockposition, blockposition1),(Predicate) (entity) -> { // Paper - decompile fix return !(entity instanceof EntityHuman); }); @@ -285,21 +285,24 @@ public class DefinedStructure { voxelshapebitset.a(blockposition3.getX() - i2, blockposition3.getY() - j2, blockposition3.getZ() - l1, true, true); } - voxelshapebitset.a((enumdirection, i, j, k) -> { - BlockPosition blockposition = new BlockPosition(l + i, i1 + j, j1 + k); - BlockPosition blockposition1 = blockposition.shift(enumdirection); - IBlockData iblockdata = generatoraccess.getType(blockposition); + // Paper start - decompile fixes + int finalL = l1; + voxelshapebitset.a((enumdirection, i_, j_, k_) -> { + BlockPosition innerBlockposition = new BlockPosition(i2 + i_, j2 + j_, finalL + k_); + BlockPosition blockposition1 = innerBlockposition.shift(enumdirection); + IBlockData iblockdata = generatoraccess.getType(innerBlockposition); IBlockData iblockdata1 = generatoraccess.getType(blockposition1); - IBlockData iblockdata2 = iblockdata.updateState(enumdirection, iblockdata1, generatoraccess, blockposition, blockposition1); + IBlockData iblockdata2 = iblockdata.updateState(enumdirection, iblockdata1, generatoraccess, innerBlockposition, blockposition1); if (iblockdata != iblockdata2) { - generatoraccess.setTypeAndData(blockposition, iblockdata2, k1 & -2 | 16); + generatoraccess.setTypeAndData(innerBlockposition, iblockdata2, i & -2 | 16); } - IBlockData iblockdata3 = iblockdata1.updateState(enumdirection.opposite(), iblockdata2, generatoraccess, blockposition1, blockposition); + IBlockData iblockdata3 = iblockdata1.updateState(enumdirection.opposite(), iblockdata2, generatoraccess, blockposition1, innerBlockposition); if (iblockdata1 != iblockdata3) { - generatoraccess.setTypeAndData(blockposition1, iblockdata3, k1 & -2 | 16); + generatoraccess.setTypeAndData(blockposition1, iblockdata3, i & -2 | 16); + // Paper end - decompile fixes } }); @@ -734,7 +737,7 @@ public class DefinedStructure { public IBlockData a(int i) { IBlockData iblockdata = (IBlockData) this.b.fromId(i); - return iblockdata == null ? DefinedStructure.a.a : iblockdata; + return iblockdata == null ? a : iblockdata; // Paper - decompile error - Blocks.AIR.getBlockData() } public Iterator iterator() { diff --git a/src/main/java/net/minecraft/server/LocaleLanguage.java b/src/main/java/net/minecraft/server/LocaleLanguage.java index 8f06c5848..4361b2cee 100644 --- a/src/main/java/net/minecraft/server/LocaleLanguage.java +++ b/src/main/java/net/minecraft/server/LocaleLanguage.java @@ -34,7 +34,7 @@ public class LocaleLanguage { Entry entry = (Entry) iterator.next(); String s = LocaleLanguage.b.matcher(ChatDeserializer.a((JsonElement) entry.getValue(), (String) entry.getKey())).replaceAll("%$1s"); - this.d.put(entry.getKey(), s); + this.d.put((String) entry.getKey(), s); // Paper - Decompile fix } this.e = SystemUtils.b(); diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java index 3b8f6ec16..bde5714dd 100644 --- a/src/main/java/net/minecraft/server/RegistryID.java +++ b/src/main/java/net/minecraft/server/RegistryID.java @@ -6,7 +6,7 @@ import java.util.Arrays; import java.util.Iterator; import javax.annotation.Nullable; -public class RegistryID implements Registry { +public class RegistryID implements Registry { // Paper - decompile fix private static final Object a = null; private K[] b; @@ -17,9 +17,9 @@ public class RegistryID implements Registry { public RegistryID(int i) { i = (int) ((float) i / 0.8F); - this.b = (Object[]) (new Object[i]); + this.b = (K[]) (new Object[i]); // Paper - decompile fix this.c = new int[i]; - this.d = (Object[]) (new Object[i]); + this.d = (K[]) (new Object[i]); // Paper - decompile fix } public int getId(@Nullable K k0) { @@ -51,12 +51,12 @@ public class RegistryID implements Registry { } private void d(int i) { - Object[] aobject = this.b; + K[] aobject = this.b; // Paper - decompile fix int[] aint = this.c; - this.b = (Object[]) (new Object[i]); + this.b = (K[]) (new Object[i]); // Paper - decompile fix this.c = new int[i]; - this.d = (Object[]) (new Object[i]); + this.d = (K[]) (new Object[i]); // Paper - decompile fix this.e = 0; this.f = 0; diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java index 4b5463cca..53c9f2188 100644 --- a/src/main/java/net/minecraft/server/VoxelShape.java +++ b/src/main/java/net/minecraft/server/VoxelShape.java @@ -67,7 +67,7 @@ public abstract class VoxelShape { ArrayList arraylist = Lists.newArrayList(); this.b((d0, d1, d2, d3, d4, d5) -> { - list.add(new AxisAlignedBB(d0, d1, d2, d3, d4, d5)); + arraylist.add(new AxisAlignedBB(d0, d1, d2, d3, d4, d5)); // Paper - decompile fix }); return arraylist; } -- 2.17.1