From 8293ac9d5c3d9ce5367ce85ef43e796c8027a517 Mon Sep 17 00:00:00 2001 From: Technus Date: Mon, 5 Jun 2017 15:23:37 +0200 Subject: this actually changes the raytracer boxes reusing the collision boxes --- .../gregtech/common/blocks/GT_Block_Machines.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/main/java/gregtech/common/blocks/GT_Block_Machines.java') diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java index 3d8a814260..42e50794a2 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java @@ -196,6 +196,27 @@ public class GT_Block_Machines return super.getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ); } + @Override + @SideOnly(Side.CLIENT) + public AxisAlignedBB getSelectedBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) { + return ((IGregTechTileEntity) tTileEntity).getCollisionBoundingBoxFromPool(aWorld, aX, aY, aZ); + } + return super.getSelectedBoundingBoxFromPool(aWorld, aX, aY, aZ); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int aX, int aY, int aZ) { + TileEntity tTileEntity = blockAccess.getTileEntity(aX, aY, aZ); + if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) { + AxisAlignedBB bbb = ((IGregTechTileEntity) tTileEntity).getCollisionBoundingBoxFromPool(((IGregTechTileEntity) tTileEntity).getWorld(), aX, aY, aZ).getOffsetBoundingBox(-aX, -aY, -aZ); + setBlockBounds((float) bbb.minX, (float) bbb.minY, (float) bbb.minZ, (float) bbb.maxX, (float) bbb.maxY, (float) bbb.maxZ); + return; + } + super.setBlockBoundsBasedOnState(blockAccess, aX, aY, aZ); + } + public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity collider) { TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) { -- cgit From 5faf1e2e16b154dbf40a32b35db27bd00f03cc13 Mon Sep 17 00:00:00 2001 From: Technus Date: Fri, 16 Jun 2017 10:12:23 +0200 Subject: Things cleanup --- src/main/java/gregtech/common/blocks/GT_Block_Machines.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/common/blocks/GT_Block_Machines.java') diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java index 510970453c..3ada783b1e 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java @@ -212,8 +212,7 @@ public class GT_Block_Machines TileEntity tTileEntity = blockAccess.getTileEntity(aX, aY, aZ); if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) { AxisAlignedBB bbb=((IGregTechTileEntity)tTileEntity).getCollisionBoundingBoxFromPool(((IGregTechTileEntity)tTileEntity).getWorld(), 0, 0, 0); - //setBlockBounds((float) bbb.minX, (float) bbb.minY, (float) bbb.minZ, (float) bbb.maxX, (float) bbb.maxY, (float) bbb.maxZ);//TODO what is this??? - minX=bbb.minX; + minX=bbb.minX;//This essentially sets block bounds minY=bbb.minY; minZ=bbb.minZ; maxX=bbb.maxX; @@ -224,7 +223,7 @@ public class GT_Block_Machines super.setBlockBoundsBasedOnState(blockAccess,aX,aY,aZ); } - @Override//TODO check? + @Override public void setBlockBoundsForItemRender() { super.setBlockBounds(0,0,0,1,1,1); } -- cgit From b6dfcd0d1dd704cea8a3040ad29cf1ed0fdb1a57 Mon Sep 17 00:00:00 2001 From: Technus Date: Sat, 17 Jun 2017 13:01:33 +0200 Subject: Changes reverting part1 --- src/main/java/gregtech/common/blocks/GT_Block_Machines.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/gregtech/common/blocks/GT_Block_Machines.java') diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java index 3ada783b1e..4608f0a7a5 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java @@ -212,7 +212,7 @@ public class GT_Block_Machines TileEntity tTileEntity = blockAccess.getTileEntity(aX, aY, aZ); if (((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getMetaTileEntity() != null)) { AxisAlignedBB bbb=((IGregTechTileEntity)tTileEntity).getCollisionBoundingBoxFromPool(((IGregTechTileEntity)tTileEntity).getWorld(), 0, 0, 0); - minX=bbb.minX;//This essentially sets block bounds + minX=bbb.minX;//This essentially sets block bounds minY=bbb.minY; minZ=bbb.minZ; maxX=bbb.maxX; -- cgit