--- ../src-base/minecraft/net/minecraft/block/BlockSlab.java +++ ../src-work/minecraft/net/minecraft/block/BlockSlab.java @@ -80,6 +80,19 @@ return this.func_176552_j(); } + @Override + public boolean doesSideBlockRendering(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing face) + { + if (net.minecraftforge.common.ForgeModContainer.disableStairSlabCulling) + return super.doesSideBlockRendering(state, world, pos, face); + + if ( state.func_185914_p() ) + return true; + + EnumBlockHalf side = state.func_177229_b(field_176554_a); + return (side == EnumBlockHalf.TOP && face == EnumFacing.UP) || (side == EnumBlockHalf.BOTTOM && face == EnumFacing.DOWN); + } + public IBlockState func_180642_a(World p_180642_1_, BlockPos p_180642_2_, EnumFacing p_180642_3_, float p_180642_4_, float p_180642_5_, float p_180642_6_, int p_180642_7_, EntityLivingBase p_180642_8_) { IBlockState iblockstate = super.func_180642_a(p_180642_1_, p_180642_2_, p_180642_3_, p_180642_4_, p_180642_5_, p_180642_6_, p_180642_7_, p_180642_8_).func_177226_a(field_176554_a, BlockSlab.EnumBlockHalf.BOTTOM); @@ -115,7 +128,7 @@ { return false; } - else + else if (false) // Forge: Additional logic breaks doesSideBlockRendering and is no longer useful. { IBlockState iblockstate = p_176225_2_.func_180495_p(p_176225_3_.func_177972_a(p_176225_4_)); boolean flag = func_185675_i(iblockstate) && iblockstate.func_177229_b(field_176554_a) == BlockSlab.EnumBlockHalf.TOP; @@ -149,6 +162,7 @@ return !func_185675_i(iblockstate) || flag; } } + return super.func_176225_a(p_176225_1_, p_176225_2_, p_176225_3_, p_176225_4_); } @SideOnly(Side.CLIENT)