ForgePatch/patches/minecraft/net/minecraft/src/WorldGenShrub.java.patch

34 lines
1.5 KiB
Diff

--- ../src_base/minecraft/net/minecraft/src/WorldGenShrub.java 0000-00-00 00:00:00.000000000 -0000
+++ ../src_work/minecraft/net/minecraft/src/WorldGenShrub.java 0000-00-00 00:00:00.000000000 -0000
@@ -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,9 @@
{
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_48197_a);
}