From fdebe1c5507ab665622a1b165514b02b6c9b48a2 Mon Sep 17 00:00:00 2001 From: David Vierra Date: Sat, 3 Mar 2018 23:55:47 -1000 Subject: #2650 - Fix single-block miners mining bedrock May also stop them from mining through protected blocks, warded glass, etc? --- .../machines/basic/GT_MetaTileEntity_Miner.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java index 4bd5a15af8..393b63e916 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java @@ -142,14 +142,17 @@ public class GT_MetaTileEntity_Miner extends GT_MetaTileEntity_BasicMachine { return mTier == 1 ? 4096 : V[mTier] * 64; } public boolean moveOneDown(IGregTechTileEntity aBaseMetaTileEntity) { - if (aBaseMetaTileEntity.getYCoord() + drillY - 1 < 0 - || GT_Utility.getBlockHardnessAt(aBaseMetaTileEntity.getWorld(), 0, aBaseMetaTileEntity.getYCoord() + drillY - 1, 0) < 0 - || !GT_Utility.setBlockByFakePlayer(getFakePlayer(aBaseMetaTileEntity), 0, drillY - 1, 0, MINING_PIPE_TIP_BLOCK, 0, true)) { + int xCoord = aBaseMetaTileEntity.getXCoord(); + int zCoord = aBaseMetaTileEntity.getZCoord(); + short yCoord = aBaseMetaTileEntity.getYCoord(); + if (yCoord + drillY - 1 < 0 + || GT_Utility.getBlockHardnessAt(aBaseMetaTileEntity.getWorld(), xCoord, yCoord + drillY - 1, zCoord) < 0 + || !GT_Utility.setBlockByFakePlayer(getFakePlayer(aBaseMetaTileEntity), xCoord, yCoord + drillY - 1, zCoord, MINING_PIPE_TIP_BLOCK, 0, true)) { isPickingPipes = true; return false; } if (aBaseMetaTileEntity.getBlockOffset(0, drillY, 0) == MINING_PIPE_TIP_BLOCK) { - aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord() + drillY, aBaseMetaTileEntity.getZCoord(), MINING_PIPE_BLOCK); + aBaseMetaTileEntity.getWorld().setBlock(xCoord, yCoord + drillY, zCoord, MINING_PIPE_BLOCK); } miningPipes: { @@ -169,7 +172,7 @@ public class GT_MetaTileEntity_Miner extends GT_MetaTileEntity_BasicMachine { if (aBaseMetaTileEntity.getBlockOffset(0, drillY - 1, 0) != Blocks.air) { mineBlock(aBaseMetaTileEntity, 0, drillY - 1, 0); } - aBaseMetaTileEntity.getWorld().setBlock(aBaseMetaTileEntity.getXCoord(), aBaseMetaTileEntity.getYCoord() + drillY - 1, aBaseMetaTileEntity.getZCoord(), MINING_PIPE_TIP_BLOCK); + aBaseMetaTileEntity.getWorld().setBlock(xCoord, yCoord + drillY - 1, zCoord, MINING_PIPE_TIP_BLOCK); drillY--; drillZ = -RADIUS[mTier]; drillX = -RADIUS[mTier]; @@ -218,4 +221,4 @@ public class GT_MetaTileEntity_Miner extends GT_MetaTileEntity_BasicMachine { return mFakePlayer; } -} \ No newline at end of file +} -- cgit