diff options
author | Tahg <tahgtahv@gmail.com> | 2012-02-02 16:57:30 -0500 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2012-02-03 01:32:29 -0500 |
commit | 1884f2f763e634dbd283716d8ac2a280ffbbcfe1 (patch) | |
tree | 0826a4a1ca55902d6eeb536e378c134ca73fb6e8 /src/main/java/net/minecraft/server/BlockTNT.java | |
parent | 14bb771957ea4154bd1aa37a22012e3eb8e2ac53 (diff) | |
download | craftbukkit-1884f2f763e634dbd283716d8ac2a280ffbbcfe1.tar craftbukkit-1884f2f763e634dbd283716d8ac2a280ffbbcfe1.tar.gz craftbukkit-1884f2f763e634dbd283716d8ac2a280ffbbcfe1.tar.lz craftbukkit-1884f2f763e634dbd283716d8ac2a280ffbbcfe1.tar.xz craftbukkit-1884f2f763e634dbd283716d8ac2a280ffbbcfe1.zip |
Added BlockTNT for diff visibility.
Diffstat (limited to 'src/main/java/net/minecraft/server/BlockTNT.java')
-rw-r--r-- | src/main/java/net/minecraft/server/BlockTNT.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/BlockTNT.java b/src/main/java/net/minecraft/server/BlockTNT.java new file mode 100644 index 00000000..be4c7e1a --- /dev/null +++ b/src/main/java/net/minecraft/server/BlockTNT.java @@ -0,0 +1,69 @@ +package net.minecraft.server; + +import java.util.Random; + +public class BlockTNT extends Block { + + public BlockTNT(int i, int j) { + super(i, j, Material.TNT); + } + + public int a(int i) { + return i == 0 ? this.textureId + 2 : (i == 1 ? this.textureId + 1 : this.textureId); + } + + public void onPlace(World world, int i, int j, int k) { + super.onPlace(world, i, j, k); + if (world.isBlockIndirectlyPowered(i, j, k)) { + this.postBreak(world, i, j, k, 1); + world.setTypeId(i, j, k, 0); + } + } + + public void doPhysics(World world, int i, int j, int k, int l) { + if (l > 0 && Block.byId[l].isPowerSource() && world.isBlockIndirectlyPowered(i, j, k)) { + this.postBreak(world, i, j, k, 1); + world.setTypeId(i, j, k, 0); + } + } + + public int a(Random random) { + return 0; + } + + public void wasExploded(World world, int i, int j, int k) { + EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(world, (double) ((float) i + 0.5F), (double) ((float) j + 0.5F), (double) ((float) k + 0.5F)); + + entitytntprimed.fuseTicks = world.random.nextInt(entitytntprimed.fuseTicks / 4) + entitytntprimed.fuseTicks / 8; + world.addEntity(entitytntprimed); + } + + public void postBreak(World world, int i, int j, int k, int l) { + if (!world.isStatic) { + if ((l & 1) == 0) { + this.a(world, i, j, k, new ItemStack(Block.TNT.id, 1, 0)); + } else { + EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(world, (double) ((float) i + 0.5F), (double) ((float) j + 0.5F), (double) ((float) k + 0.5F)); + + world.addEntity(entitytntprimed); + world.makeSound(entitytntprimed, "random.fuse", 1.0F, 1.0F); + } + } + } + + public void attack(World world, int i, int j, int k, EntityHuman entityhuman) { + if (entityhuman.Q() != null && entityhuman.Q().id == Item.FLINT_AND_STEEL.id) { + world.setRawData(i, j, k, 1); + } + + super.attack(world, i, j, k, entityhuman); + } + + public boolean interact(World world, int i, int j, int k, EntityHuman entityhuman) { + return super.interact(world, i, j, k, entityhuman); + } + + protected ItemStack a_(int i) { + return null; + } +} |