summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/BlockLeaves.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/BlockLeaves.java')
-rw-r--r--src/main/java/net/minecraft/server/BlockLeaves.java203
1 files changed, 0 insertions, 203 deletions
diff --git a/src/main/java/net/minecraft/server/BlockLeaves.java b/src/main/java/net/minecraft/server/BlockLeaves.java
deleted file mode 100644
index d6afe5b0..00000000
--- a/src/main/java/net/minecraft/server/BlockLeaves.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package net.minecraft.server;
-
-import java.util.Random;
-
-import org.bukkit.event.block.LeavesDecayEvent; // CraftBukkit
-
-public abstract class BlockLeaves extends BlockTransparent {
-
- int[] a;
- protected IIcon[][] M = new IIcon[2][];
-
- public BlockLeaves() {
- super(Material.LEAVES, false);
- this.a(true);
- this.a(CreativeModeTab.c);
- this.c(0.2F);
- this.g(1);
- this.a(h);
- }
-
- public void remove(World world, int i, int j, int k, Block block, int l) {
- byte b0 = 1;
- int i1 = b0 + 1;
-
- if (world.b(i - i1, j - i1, k - i1, i + i1, j + i1, k + i1)) {
- for (int j1 = -b0; j1 <= b0; ++j1) {
- for (int k1 = -b0; k1 <= b0; ++k1) {
- for (int l1 = -b0; l1 <= b0; ++l1) {
- if (world.getType(i + j1, j + k1, k + l1).getMaterial() == Material.LEAVES) {
- int i2 = world.getData(i + j1, j + k1, k + l1);
-
- world.setData(i + j1, j + k1, k + l1, i2 | 8, 4);
- }
- }
- }
- }
- }
- }
-
- public void a(World world, int i, int j, int k, Random random) {
- if (!world.isStatic) {
- int l = world.getData(i, j, k);
-
- if ((l & 8) != 0 && (l & 4) == 0) {
- byte b0 = 4;
- int i1 = b0 + 1;
- byte b1 = 32;
- int j1 = b1 * b1;
- int k1 = b1 / 2;
-
- if (this.a == null) {
- this.a = new int[b1 * b1 * b1];
- }
-
- int l1;
-
- if (world.b(i - i1, j - i1, k - i1, i + i1, j + i1, k + i1)) {
- int i2;
- int j2;
-
- for (l1 = -b0; l1 <= b0; ++l1) {
- for (i2 = -b0; i2 <= b0; ++i2) {
- for (j2 = -b0; j2 <= b0; ++j2) {
- Block block = world.getType(i + l1, j + i2, k + j2);
-
- if (block != Blocks.LOG && block != Blocks.LOG2) {
- if (block.getMaterial() == Material.LEAVES) {
- this.a[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2;
- } else {
- this.a[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1;
- }
- } else {
- this.a[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0;
- }
- }
- }
- }
-
- for (l1 = 1; l1 <= 4; ++l1) {
- for (i2 = -b0; i2 <= b0; ++i2) {
- for (j2 = -b0; j2 <= b0; ++j2) {
- for (int k2 = -b0; k2 <= b0; ++k2) {
- if (this.a[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) {
- if (this.a[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) {
- this.a[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1;
- }
-
- if (this.a[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) {
- this.a[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1;
- }
-
- if (this.a[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) {
- this.a[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1;
- }
-
- if (this.a[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) {
- this.a[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1;
- }
-
- if (this.a[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) {
- this.a[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1;
- }
-
- if (this.a[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) {
- this.a[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1;
- }
- }
- }
- }
- }
- }
- }
-
- l1 = this.a[k1 * j1 + k1 * b1 + k1];
- if (l1 >= 0) {
- world.setData(i, j, k, l & -9, 4);
- } else {
- this.e(world, i, j, k);
- }
- }
- }
- }
-
- private void e(World world, int i, int j, int k) {
- // CraftBukkit start
- LeavesDecayEvent event = new LeavesDecayEvent(world.getWorld().getBlockAt(i, j, k));
- world.getServer().getPluginManager().callEvent(event);
-
- if (event.isCancelled()) {
- return;
- }
- // CraftBukkit end
-
- this.b(world, i, j, k, world.getData(i, j, k), 0);
- world.setAir(i, j, k);
- }
-
- public int a(Random random) {
- return random.nextInt(20) == 0 ? 1 : 0;
- }
-
- public Item getDropType(int i, Random random, int j) {
- return Item.getItemOf(Blocks.SAPLING);
- }
-
- public void dropNaturally(World world, int i, int j, int k, int l, float f, int i1) {
- if (!world.isStatic) {
- int j1 = this.b(l);
-
- if (i1 > 0) {
- j1 -= 2 << i1;
- if (j1 < 10) {
- j1 = 10;
- }
- }
-
- if (world.random.nextInt(j1) == 0) {
- Item item = this.getDropType(l, world.random, i1);
-
- this.a(world, i, j, k, new ItemStack(item, 1, this.getDropData(l)));
- }
-
- j1 = 200;
- if (i1 > 0) {
- j1 -= 10 << i1;
- if (j1 < 40) {
- j1 = 40;
- }
- }
-
- this.c(world, i, j, k, l, j1);
- }
- }
-
- protected void c(World world, int i, int j, int k, int l, int i1) {}
-
- protected int b(int i) {
- return 20;
- }
-
- public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
- if (!world.isStatic && entityhuman.bF() != null && entityhuman.bF().getItem() == Items.SHEARS) {
- entityhuman.a(StatisticList.MINE_BLOCK_COUNT[Block.getId(this)], 1);
- this.a(world, i, j, k, new ItemStack(Item.getItemOf(this), 1, l & 3));
- } else {
- super.a(world, entityhuman, i, j, k, l);
- }
- }
-
- public int getDropData(int i) {
- return i & 3;
- }
-
- public boolean c() {
- return !this.P;
- }
-
- protected ItemStack j(int i) {
- return new ItemStack(Item.getItemOf(this), 1, i & 3);
- }
-
- public abstract String[] e();
-}