33 lines
1.4 KiB
Diff
33 lines
1.4 KiB
Diff
|
--- ../src-base/minecraft/net/minecraft/block/BlockStairs.java
|
||
|
+++ ../src-work/minecraft/net/minecraft/block/BlockStairs.java
|
||
|
@@ -483,6 +483,29 @@
|
||
|
return new BlockStateContainer(this, new IProperty[] {field_176309_a, field_176308_b, field_176310_M});
|
||
|
}
|
||
|
|
||
|
+ @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;
|
||
|
+
|
||
|
+ state = this.func_176221_a(state, world, pos);
|
||
|
+
|
||
|
+ EnumHalf half = state.func_177229_b(field_176308_b);
|
||
|
+ EnumFacing side = state.func_177229_b(field_176309_a);
|
||
|
+ EnumShape shape = state.func_177229_b(field_176310_M);
|
||
|
+ if (face == EnumFacing.UP) return half == EnumHalf.TOP;
|
||
|
+ if (face == EnumFacing.DOWN) return half == EnumHalf.BOTTOM;
|
||
|
+ if (shape == EnumShape.OUTER_LEFT || shape == EnumShape.OUTER_RIGHT) return false;
|
||
|
+ if (face == side) return true;
|
||
|
+ if (shape == EnumShape.INNER_LEFT && face.func_176746_e() == side) return true;
|
||
|
+ if (shape == EnumShape.INNER_RIGHT && face.func_176735_f() == side) return true;
|
||
|
+ return false;
|
||
|
+ }
|
||
|
+
|
||
|
public static enum EnumHalf implements IStringSerializable
|
||
|
{
|
||
|
TOP("top"),
|