ForgePatch/patches/minecraft/net/minecraft/world/gen/feature/WorldGenShrub.java.patch

33 lines
2.2 KiB
Diff

--- ../src-base/minecraft/net/minecraft/world/gen/feature/WorldGenShrub.java
+++ ../src-work/minecraft/net/minecraft/world/gen/feature/WorldGenShrub.java
@@ -22,14 +22,14 @@
public boolean func_180709_b(World p_180709_1_, Random p_180709_2_, BlockPos p_180709_3_)
{
- for (IBlockState iblockstate = p_180709_1_.func_180495_p(p_180709_3_); (iblockstate.func_185904_a() == Material.field_151579_a || iblockstate.func_185904_a() == Material.field_151584_j) && p_180709_3_.func_177956_o() > 0; iblockstate = p_180709_1_.func_180495_p(p_180709_3_))
+ for (IBlockState iblockstate = p_180709_1_.func_180495_p(p_180709_3_); (iblockstate.func_177230_c().isAir(iblockstate, p_180709_1_, p_180709_3_) || iblockstate.func_177230_c().isLeaves(iblockstate, p_180709_1_, p_180709_3_)) && p_180709_3_.func_177956_o() > 0; iblockstate = p_180709_1_.func_180495_p(p_180709_3_))
{
p_180709_3_ = p_180709_3_.func_177977_b();
}
- Block block = p_180709_1_.func_180495_p(p_180709_3_).func_177230_c();
+ IBlockState state = p_180709_1_.func_180495_p(p_180709_3_);
- if (block == Blocks.field_150346_d || block == Blocks.field_150349_c)
+ if (state.func_177230_c().canSustainPlant(state, p_180709_1_, p_180709_3_, net.minecraft.util.EnumFacing.UP, ((net.minecraft.block.BlockSapling)Blocks.field_150345_g)))
{
p_180709_3_ = p_180709_3_.func_177984_a();
this.func_175903_a(p_180709_1_, p_180709_3_, this.field_150527_b);
@@ -50,9 +50,9 @@
if (Math.abs(i1) != k || Math.abs(k1) != k || p_180709_2_.nextInt(2) != 0)
{
BlockPos blockpos = new BlockPos(l, i, j1);
- Material material = p_180709_1_.func_180495_p(blockpos).func_185904_a();
+ state = p_180709_1_.func_180495_p(blockpos);
- if (material == Material.field_151579_a || material == Material.field_151584_j)
+ if (state.func_177230_c().canBeReplacedByLeaves(state, p_180709_1_, blockpos))
{
this.func_175903_a(p_180709_1_, blockpos, this.field_150528_a);
}