From 6ce3ff1a5c57da63ee764e87d24a406088239cf0 Mon Sep 17 00:00:00 2001 From: George Paton Date: Tue, 11 Jun 2024 11:24:57 +1000 Subject: [PATCH] guraeto daze --- src/main/java/com/hbm/blocks/generic/BlockGrate.java | 8 ++++---- src/main/java/com/hbm/blocks/machine/FoundryBasin.java | 6 ++++++ src/main/java/com/hbm/blocks/machine/FoundryChannel.java | 6 ++++++ src/main/java/com/hbm/blocks/machine/FoundryMold.java | 5 +++++ src/main/java/com/hbm/blocks/machine/FoundryOutlet.java | 6 ++++++ src/main/java/com/hbm/blocks/network/FluidDuctBox.java | 6 ++++++ .../java/com/hbm/blocks/network/FluidDuctStandard.java | 6 ++++++ 7 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/BlockGrate.java b/src/main/java/com/hbm/blocks/generic/BlockGrate.java index e7240b485..892f9f929 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGrate.java @@ -110,13 +110,13 @@ public class BlockGrate extends Block implements ITooltipProvider { if(meta == 0) { // Check that the block below can fit a grate above it Block block = world.getBlock(x, y - 1, z); - AxisAlignedBB otherBB = block.getSelectedBoundingBoxFromPool(world, x, y - 1, z); + AxisAlignedBB otherBB = block.getCollisionBoundingBoxFromPool(world, x, y - 1, z); if(!block.isAir(world, x, y + 1, z) && (otherBB == null || otherBB.maxY - (double)y < -0.05)) { world.setBlockMetadataWithNotify(x, y, z, 9, 3); } } else if(meta == 7) { Block block = world.getBlock(x, y + 1, z); - AxisAlignedBB otherBB = block.getSelectedBoundingBoxFromPool(world, x, y + 1, z); + AxisAlignedBB otherBB = block.getCollisionBoundingBoxFromPool(world, x, y + 1, z); if(!block.isAir(world, x, y + 1, z) && (otherBB == null || otherBB.minY - (double)(y + 1) > 0.05)) { world.setBlockMetadataWithNotify(x, y, z, 8, 3); } @@ -133,10 +133,10 @@ public class BlockGrate extends Block implements ITooltipProvider { boolean breakIt = false; if(meta == 9) { - AxisAlignedBB otherBB = world.getBlock(x, y - 1, z).getSelectedBoundingBoxFromPool(world, x, y - 1, z); + AxisAlignedBB otherBB = world.getBlock(x, y - 1, z).getCollisionBoundingBoxFromPool(world, x, y - 1, z); breakIt = !(otherBB == null || otherBB.maxY - (double)y < -0.05); } else if(meta == 8) { - AxisAlignedBB otherBB = world.getBlock(x, y + 1, z).getSelectedBoundingBoxFromPool(world, x, y + 1, z); + AxisAlignedBB otherBB = world.getBlock(x, y + 1, z).getCollisionBoundingBoxFromPool(world, x, y + 1, z); breakIt = !(otherBB == null || otherBB.minY - (double)(y + 1) > 0.05); } diff --git a/src/main/java/com/hbm/blocks/machine/FoundryBasin.java b/src/main/java/com/hbm/blocks/machine/FoundryBasin.java index 59014be8e..d3d014d45 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryBasin.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryBasin.java @@ -67,6 +67,12 @@ public class FoundryBasin extends FoundryCastingBase { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.999F, 1.0F); //for some fucking reason setting maxY to something that isn't 1 magically fixes item collisions } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java index ae43ea2d9..8866bfd0f 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java @@ -82,6 +82,12 @@ public class FoundryChannel extends BlockContainer implements ICrucibleAcceptor } } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/machine/FoundryMold.java b/src/main/java/com/hbm/blocks/machine/FoundryMold.java index 1c3182d49..03712d0a2 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryMold.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryMold.java @@ -66,6 +66,11 @@ public class FoundryMold extends FoundryCastingBase { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return AxisAlignedBB.getBoundingBox(x, y, z, x + 1D, y + 0.5D, z + 1D); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java index d62f01cb0..dfa51cf3b 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java @@ -96,6 +96,12 @@ public class FoundryOutlet extends BlockContainer implements ICrucibleAcceptor, } } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java index f05d3733a..ab63cb957 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java @@ -220,6 +220,12 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve } } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java b/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java index 8bf891a05..e482398c9 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java @@ -183,6 +183,12 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo } } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) {