diff options
author | mbax <matt@phozop.net> | 2013-11-04 07:07:38 -0600 |
---|---|---|
committer | Wesley Wolfe <weswolf@aol.com> | 2013-11-30 19:26:12 -0600 |
commit | 2726696652179a5ead7dc07dd39edf7dfda687f7 (patch) | |
tree | ff78e22fdd4fc01889a5f6cc482b599f965cd93a /src/main/java/net/minecraft/server/BlockTripwireHook.java | |
parent | ff8b70fbb7a96b9d2ff078afcf3b3ff90f200981 (diff) | |
download | craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar.gz craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar.lz craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.tar.xz craftbukkit-2726696652179a5ead7dc07dd39edf7dfda687f7.zip |
Update CraftBukkit to Minecraft 1.7.2
Diffstat (limited to 'src/main/java/net/minecraft/server/BlockTripwireHook.java')
-rw-r--r-- | src/main/java/net/minecraft/server/BlockTripwireHook.java | 212 |
1 files changed, 107 insertions, 105 deletions
diff --git a/src/main/java/net/minecraft/server/BlockTripwireHook.java b/src/main/java/net/minecraft/server/BlockTripwireHook.java index 5f70c389..c2342658 100644 --- a/src/main/java/net/minecraft/server/BlockTripwireHook.java +++ b/src/main/java/net/minecraft/server/BlockTripwireHook.java @@ -6,13 +6,13 @@ import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit public class BlockTripwireHook extends Block { - public BlockTripwireHook(int i) { - super(i, Material.ORIENTABLE); + public BlockTripwireHook() { + super(Material.ORIENTABLE); this.a(CreativeModeTab.d); - this.b(true); + this.a(true); } - public AxisAlignedBB b(World world, int i, int j, int k) { + public AxisAlignedBB a(World world, int i, int j, int k) { return null; } @@ -20,11 +20,11 @@ public class BlockTripwireHook extends Block { return false; } - public boolean b() { + public boolean d() { return false; } - public int d() { + public int b() { return 29; } @@ -33,11 +33,11 @@ public class BlockTripwireHook extends Block { } public boolean canPlace(World world, int i, int j, int k, int l) { - return l == 2 && world.u(i, j, k + 1) ? true : (l == 3 && world.u(i, j, k - 1) ? true : (l == 4 && world.u(i + 1, j, k) ? true : l == 5 && world.u(i - 1, j, k))); + return l == 2 && world.getType(i, j, k + 1).r() ? true : (l == 3 && world.getType(i, j, k - 1).r() ? true : (l == 4 && world.getType(i + 1, j, k).r() ? true : l == 5 && world.getType(i - 1, j, k).r())); } public boolean canPlace(World world, int i, int j, int k) { - return world.u(i - 1, j, k) ? true : (world.u(i + 1, j, k) ? true : (world.u(i, j, k - 1) ? true : world.u(i, j, k + 1))); + return world.getType(i - 1, j, k).r() ? true : (world.getType(i + 1, j, k).r() ? true : (world.getType(i, j, k - 1).r() ? true : world.getType(i, j, k + 1).r())); } public int getPlacedData(World world, int i, int j, int k, int l, float f, float f1, float f2, int i1) { @@ -63,100 +63,102 @@ public class BlockTripwireHook extends Block { } public void postPlace(World world, int i, int j, int k, int l) { - this.a(world, i, j, k, this.id, l, false, -1, 0); + this.a(world, i, j, k, false, l, false, -1, 0); } - public void doPhysics(World world, int i, int j, int k, int l) { - if (l != this.id) { - if (this.k(world, i, j, k)) { - int i1 = world.getData(i, j, k); - int j1 = i1 & 3; + public void doPhysics(World world, int i, int j, int k, Block block) { + if (block != this) { + if (this.e(world, i, j, k)) { + int l = world.getData(i, j, k); + int i1 = l & 3; boolean flag = false; - if (!world.u(i - 1, j, k) && j1 == 3) { + if (!world.getType(i - 1, j, k).r() && i1 == 3) { flag = true; } - if (!world.u(i + 1, j, k) && j1 == 1) { + if (!world.getType(i + 1, j, k).r() && i1 == 1) { flag = true; } - if (!world.u(i, j, k - 1) && j1 == 0) { + if (!world.getType(i, j, k - 1).r() && i1 == 0) { flag = true; } - if (!world.u(i, j, k + 1) && j1 == 2) { + if (!world.getType(i, j, k + 1).r() && i1 == 2) { flag = true; } if (flag) { - this.c(world, i, j, k, i1, 0); + this.b(world, i, j, k, l, 0); world.setAir(i, j, k); } } } } - public void a(World world, int i, int j, int k, int l, int i1, boolean flag, int j1, int k1) { - int l1 = i1 & 3; - boolean flag1 = (i1 & 4) == 4; - boolean flag2 = (i1 & 8) == 8; - boolean flag3 = l == Block.TRIPWIRE_SOURCE.id; - boolean flag4 = false; - boolean flag5 = !world.w(i, j - 1, k); - int i2 = Direction.a[l1]; - int j2 = Direction.b[l1]; - int k2 = 0; + public void a(World world, int i, int j, int k, boolean flag, int l, boolean flag1, int i1, int j1) { + int k1 = l & 3; + boolean flag2 = (l & 4) == 4; + boolean flag3 = (l & 8) == 8; + boolean flag4 = !flag; + boolean flag5 = false; + boolean flag6 = !World.a((IBlockAccess) world, i, j - 1, k); + int l1 = Direction.a[k1]; + int i2 = Direction.b[k1]; + int j2 = 0; int[] aint = new int[42]; + int k2; int l2; int i3; int j3; - int k3; - int l3; - - for (i3 = 1; i3 < 42; ++i3) { - l2 = i + i2 * i3; - k3 = k + j2 * i3; - j3 = world.getTypeId(l2, j, k3); - if (j3 == Block.TRIPWIRE_SOURCE.id) { - l3 = world.getData(l2, j, k3); - if ((l3 & 3) == Direction.f[l1]) { - k2 = i3; + + for (l2 = 1; l2 < 42; ++l2) { + k2 = i + l1 * l2; + i3 = k + i2 * l2; + Block block = world.getType(k2, j, i3); + + if (block == Blocks.TRIPWIRE_SOURCE) { + j3 = world.getData(k2, j, i3); + if ((j3 & 3) == Direction.f[k1]) { + j2 = l2; } break; } - if (j3 != Block.TRIPWIRE.id && i3 != j1) { - aint[i3] = -1; - flag3 = false; + if (block != Blocks.TRIPWIRE && l2 != i1) { + aint[l2] = -1; + flag4 = false; } else { - l3 = i3 == j1 ? k1 : world.getData(l2, j, k3); - boolean flag6 = (l3 & 8) != 8; - boolean flag7 = (l3 & 1) == 1; - boolean flag8 = (l3 & 2) == 2; - - flag3 &= flag8 == flag5; - flag4 |= flag6 && flag7; - aint[i3] = l3; - if (i3 == j1) { - world.a(i, j, k, l, this.a(world)); - flag3 &= flag6; + j3 = l2 == i1 ? j1 : world.getData(k2, j, i3); + boolean flag7 = (j3 & 8) != 8; + boolean flag8 = (j3 & 1) == 1; + boolean flag9 = (j3 & 2) == 2; + + flag4 &= flag9 == flag6; + flag5 |= flag7 && flag8; + aint[l2] = j3; + if (l2 == i1) { + world.a(i, j, k, this, this.a(world)); + flag4 &= flag7; } } } - flag3 &= k2 > 1; - flag4 &= flag3; - i3 = (flag3 ? 4 : 0) | (flag4 ? 8 : 0); - i1 = l1 | i3; - if (k2 > 0) { - l2 = i + i2 * k2; - k3 = k + j2 * k2; - j3 = Direction.f[l1]; - world.setData(l2, j, k3, j3 | i3, 3); - this.d(world, l2, j, k3, j3); - this.a(world, l2, j, k3, flag3, flag4, flag1, flag2); + flag4 &= j2 > 1; + flag5 &= flag4; + l2 = (flag4 ? 4 : 0) | (flag5 ? 8 : 0); + l = k1 | l2; + int k3; + + if (j2 > 0) { + k2 = i + l1 * j2; + i3 = k + i2 * j2; + k3 = Direction.f[k1]; + world.setData(k2, j, i3, k3 | l2, 3); + this.a(world, k2, j, i3, k3); + this.a(world, k2, j, i3, flag4, flag5, flag2, flag3); } // CraftBukkit start @@ -170,34 +172,34 @@ public class BlockTripwireHook extends Block { } // CraftBukkit end - this.a(world, i, j, k, flag3, flag4, flag1, flag2); - if (l > 0) { - world.setData(i, j, k, i1, 3); - if (flag) { - this.d(world, i, j, k, l1); + this.a(world, i, j, k, flag4, flag5, flag2, flag3); + if (!flag) { + world.setData(i, j, k, l, 3); + if (flag1) { + this.a(world, i, j, k, k1); } } - if (flag1 != flag3) { - for (l2 = 1; l2 < k2; ++l2) { - k3 = i + i2 * l2; - j3 = k + j2 * l2; - l3 = aint[l2]; - if (l3 >= 0) { - if (flag3) { - l3 |= 4; + if (flag2 != flag4) { + for (k2 = 1; k2 < j2; ++k2) { + i3 = i + l1 * k2; + k3 = k + i2 * k2; + j3 = aint[k2]; + if (j3 >= 0) { + if (flag4) { + j3 |= 4; } else { - l3 &= -5; + j3 &= -5; } - world.setData(k3, j, j3, l3, 3); + world.setData(i3, j, k3, j3, 3); } } } } public void a(World world, int i, int j, int k, Random random) { - this.a(world, i, j, k, this.id, world.getData(i, j, k), true, -1, 0); + this.a(world, i, j, k, false, world.getData(i, j, k), true, -1, 0); } private void a(World world, int i, int j, int k, boolean flag, boolean flag1, boolean flag2, boolean flag3) { @@ -212,22 +214,22 @@ public class BlockTripwireHook extends Block { } } - private void d(World world, int i, int j, int k, int l) { - world.applyPhysics(i, j, k, this.id); + private void a(World world, int i, int j, int k, int l) { + world.applyPhysics(i, j, k, this); if (l == 3) { - world.applyPhysics(i - 1, j, k, this.id); + world.applyPhysics(i - 1, j, k, this); } else if (l == 1) { - world.applyPhysics(i + 1, j, k, this.id); + world.applyPhysics(i + 1, j, k, this); } else if (l == 0) { - world.applyPhysics(i, j, k - 1, this.id); + world.applyPhysics(i, j, k - 1, this); } else if (l == 2) { - world.applyPhysics(i, j, k + 1, this.id); + world.applyPhysics(i, j, k + 1, this); } } - private boolean k(World world, int i, int j, int k) { + private boolean e(World world, int i, int j, int k) { if (!this.canPlace(world, i, j, k)) { - this.c(world, i, j, k, world.getData(i, j, k), 0); + this.b(world, i, j, k, world.getData(i, j, k), 0); world.setAir(i, j, k); return false; } else { @@ -250,30 +252,30 @@ public class BlockTripwireHook extends Block { } } - public void remove(World world, int i, int j, int k, int l, int i1) { - boolean flag = (i1 & 4) == 4; - boolean flag1 = (i1 & 8) == 8; + public void remove(World world, int i, int j, int k, Block block, int l) { + boolean flag = (l & 4) == 4; + boolean flag1 = (l & 8) == 8; if (flag || flag1) { - this.a(world, i, j, k, 0, i1, false, -1, 0); + this.a(world, i, j, k, true, l, false, -1, 0); } if (flag1) { - world.applyPhysics(i, j, k, this.id); - int j1 = i1 & 3; - - if (j1 == 3) { - world.applyPhysics(i - 1, j, k, this.id); - } else if (j1 == 1) { - world.applyPhysics(i + 1, j, k, this.id); - } else if (j1 == 0) { - world.applyPhysics(i, j, k - 1, this.id); - } else if (j1 == 2) { - world.applyPhysics(i, j, k + 1, this.id); + world.applyPhysics(i, j, k, this); + int i1 = l & 3; + + if (i1 == 3) { + world.applyPhysics(i - 1, j, k, this); + } else if (i1 == 1) { + world.applyPhysics(i + 1, j, k, this); + } else if (i1 == 0) { + world.applyPhysics(i, j, k - 1, this); + } else if (i1 == 2) { + world.applyPhysics(i, j, k + 1, this); } } - super.remove(world, i, j, k, l, i1); + super.remove(world, i, j, k, block, l); } public int b(IBlockAccess iblockaccess, int i, int j, int k, int l) { |