31a908b754
Refactored some of the events to be a better hiarachy.
34 lines
1.5 KiB
Diff
34 lines
1.5 KiB
Diff
--- ../src_base/common/net/minecraft/src/WorldGenShrub.java
|
|
+++ ../src_work/common/net/minecraft/src/WorldGenShrub.java
|
|
@@ -17,10 +17,16 @@
|
|
{
|
|
int var15;
|
|
|
|
- for (boolean var6 = false; ((var15 = par1World.getBlockId(par3, par4, par5)) == 0 || var15 == Block.leaves.blockID) && par4 > 0; --par4)
|
|
+ Block block = null;
|
|
+ do
|
|
{
|
|
- ;
|
|
- }
|
|
+ block = Block.blocksList[par1World.getBlockId(par3, par4, par5)];
|
|
+ if (block != null && !block.isLeaves(par1World, par3, par4, par5))
|
|
+ {
|
|
+ break;
|
|
+ }
|
|
+ par4--;
|
|
+ } while (par4 > 0);
|
|
|
|
int var7 = par1World.getBlockId(par3, par4, par5);
|
|
|
|
@@ -42,7 +48,10 @@
|
|
{
|
|
int var14 = var13 - par5;
|
|
|
|
- if ((Math.abs(var12) != var10 || Math.abs(var14) != var10 || par2Random.nextInt(2) != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var11, var8, var13)])
|
|
+ block = Block.blocksList[par1World.getBlockId(var11, var8, var13)];
|
|
+
|
|
+ if ((Math.abs(var12) != var10 || Math.abs(var14) != var10 || par2Random.nextInt(2) != 0) &&
|
|
+ (block == null || block.canBeReplacedByLeaves(par1World, var11, var8, var13)))
|
|
{
|
|
this.setBlockAndMetadata(par1World, var11, var8, var13, Block.leaves.blockID, this.field_76527_a);
|
|
}
|