diff options
author | Nathan Adams <dinnerbone@dinnerbone.com> | 2012-03-01 15:10:06 +0000 |
---|---|---|
committer | Nathan Adams <dinnerbone@dinnerbone.com> | 2012-03-01 15:10:06 +0000 |
commit | aa3678a7837646eb7c0c091fdaf5674b76634788 (patch) | |
tree | 612593b9b4a4e54f65d288b96296ae3df85dfb91 | |
parent | 543c4879fee3b7165764c5371d226c93fe3a657b (diff) | |
download | craftbukkit-aa3678a7837646eb7c0c091fdaf5674b76634788.tar craftbukkit-aa3678a7837646eb7c0c091fdaf5674b76634788.tar.gz craftbukkit-aa3678a7837646eb7c0c091fdaf5674b76634788.tar.lz craftbukkit-aa3678a7837646eb7c0c091fdaf5674b76634788.tar.xz craftbukkit-aa3678a7837646eb7c0c091fdaf5674b76634788.zip |
Fixed NoSuchMethodError in WorldGenGroundBush
-rw-r--r-- | src/main/java/net/minecraft/server/WorldGenGroundBush.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/WorldGenGroundBush.java b/src/main/java/net/minecraft/server/WorldGenGroundBush.java new file mode 100644 index 00000000..3b21c52f --- /dev/null +++ b/src/main/java/net/minecraft/server/WorldGenGroundBush.java @@ -0,0 +1,56 @@ +package net.minecraft.server; + +import java.util.Random; + +import org.bukkit.BlockChangeDelegate; // CraftBukkit + +public class WorldGenGroundBush extends WorldGenerator { + + private int a; + private int b; + + public WorldGenGroundBush(int i, int j) { + this.b = i; + this.a = j; + } + + public boolean a(World world, Random random, int i, int j, int k) { + // CraftBukkit start + return this.generate((BlockChangeDelegate) world, random, i, j, k); + } + + public boolean generate(BlockChangeDelegate world, Random random, int i, int j, int k) { + // CraftBukkit end + int l; + + for (boolean flag = false; ((l = world.getTypeId(i, j, k)) == 0 || l == Block.LEAVES.id) && j > 0; --j) { + ; + } + + int i1 = world.getTypeId(i, j, k); + + if (i1 == Block.DIRT.id || i1 == Block.GRASS.id) { + ++j; + world.setRawTypeIdAndData(i, j, k, Block.LOG.id, this.b); + + for (int j1 = j; j1 <= j + 2; ++j1) { + int k1 = j1 - j; + int l1 = 2 - k1; + + for (int i2 = i - l1; i2 <= i + l1; ++i2) { + int j2 = i2 - i; + + for (int k2 = k - l1; k2 <= k + l1; ++k2) { + int l2 = k2 - k; + + if ((Math.abs(j2) != l1 || Math.abs(l2) != l1 || random.nextInt(2) != 0) && !Block.n[world.getTypeId(i2, j1, k2)]) { + this.setTypeAndData(world, i2, j1, k2, Block.LEAVES.id, this.a); + } + } + } + } + } + + return true; + } +} |