From f571e41198464c25a8db21da773ecc47417a754c Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Wed, 26 Mar 2014 22:57:38 -0500 Subject: [PATCH] Fix Z-FIghting. Fix Bounding Box. --- block/storage/BlockSkyChest.java | 15 ++++++++++++++- client/render/blocks/RenderBlockSkyChest.java | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/block/storage/BlockSkyChest.java b/block/storage/BlockSkyChest.java index b8fd13b0c..733214cad 100644 --- a/block/storage/BlockSkyChest.java +++ b/block/storage/BlockSkyChest.java @@ -94,7 +94,20 @@ public class BlockSkyChest extends AEBaseBlock implements ICustomCollision @Override public Iterable getSelectedBoundingBoxsFromPool(World w, int x, int y, int z, Entity e, boolean isVisual) { - return Arrays.asList( new AxisAlignedBB[] { AxisAlignedBB.getBoundingBox( 0.05, 0.05, 0.05, 0.95, 0.95, 0.95 ) } ); + TileSkyChest sk = getTileEntity( w, x, y, z ); + double sc = 0.06; + ForgeDirection o = ForgeDirection.UNKNOWN; + + if ( sk != null ) + o = sk.getUp(); + + double X = o.offsetX == 0 ? 0.06 : 0.0; + double Y = o.offsetY == 0 ? 0.06 : 0.0; + double Z = o.offsetZ == 0 ? 0.06 : 0.0; + + return Arrays.asList( new AxisAlignedBB[] { AxisAlignedBB.getBoundingBox( Math.max( 0.0, X - o.offsetX * sc ), Math.max( 0.0, Y - o.offsetY * sc ), + Math.max( 0.0, Z - o.offsetZ * sc ), Math.min( 1.0, (1.0 - X) - o.offsetX * sc ), Math.min( 1.0, (1.0 - Y) - o.offsetY * sc ), + Math.min( 1.0, (1.0 - Z) - o.offsetZ * sc ) ) } ); } @Override diff --git a/client/render/blocks/RenderBlockSkyChest.java b/client/render/blocks/RenderBlockSkyChest.java index 5758acf54..cdd9aa76f 100644 --- a/client/render/blocks/RenderBlockSkyChest.java +++ b/client/render/blocks/RenderBlockSkyChest.java @@ -104,7 +104,7 @@ public class RenderBlockSkyChest extends BaseBlockRender lidangle = 1.0F - lidangle; lidangle = 1.0F - lidangle * lidangle * lidangle; - model.chestLid.offsetY = -(0.9f / 16.0f); + model.chestLid.offsetY = -(1.01f / 16.0f); model.chestLid.rotateAngleX = -((lidangle * 3.141593F) / 2.0F); model.renderAll();