diff options
author | Blood-Asp <bloodasphendrik@gmail.com> | 2016-12-07 22:06:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-07 22:06:17 +0100 |
commit | 0c4e3cbd092de2660e4d4111b0322c8da03fde9c (patch) | |
tree | 1d4437cda86ef8d4be36e67b63c277b4ca100f27 | |
parent | 7df5add5a90ca8f8b5f974306774927e7554bdee (diff) | |
parent | 4176f2c5252b80e40f9281cf2bc44bd0e0866822 (diff) | |
download | GT5-Unofficial-0c4e3cbd092de2660e4d4111b0322c8da03fde9c.tar.gz GT5-Unofficial-0c4e3cbd092de2660e4d4111b0322c8da03fde9c.tar.bz2 GT5-Unofficial-0c4e3cbd092de2660e4d4111b0322c8da03fde9c.zip |
Merge pull request #782 from codewarrior0/advminer-fix
Fix Advanced Miner II occasionally outputting the wrong blocks
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java index 0fcb84c3b5..8d3f5cb1fa 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java @@ -134,7 +134,8 @@ public class GT_MetaTileEntity_AdvMiner2 extends GT_MetaTileEntity_MultiBlockBas } ArrayList<ItemStack> tDrops = new ArrayList(); Block tMineBlock = null; - ChunkPosition mle = null;; + ChunkPosition mle = null; + int posX, posY, posZ, offX, offY, offZ; while ((tMineBlock==null || tMineBlock == Blocks.air) && !mMineList.isEmpty()) { mle = mMineList.get(0); mMineList.remove(0); @@ -142,8 +143,15 @@ public class GT_MetaTileEntity_AdvMiner2 extends GT_MetaTileEntity_MultiBlockBas } if (tMineBlock!=null && tMineBlock!=Blocks.air) { - int metadata = getBaseMetaTileEntity().getMetaIDOffset(mle.chunkPosX, mle.chunkPosY, mle.chunkPosZ); - boolean silkTouch = tMineBlock.canSilkHarvest(getBaseMetaTileEntity().getWorld(), null, mle.chunkPosX, mle.chunkPosY, mle.chunkPosZ, metadata); + posX = mle.chunkPosX + getBaseMetaTileEntity().getXCoord(); + posY = mle.chunkPosY + getBaseMetaTileEntity().getYCoord(); + posZ = mle.chunkPosZ + getBaseMetaTileEntity().getZCoord(); + offX = mle.chunkPosX; + offY = mle.chunkPosY; + offZ = mle.chunkPosZ; + + int metadata = getBaseMetaTileEntity().getMetaIDOffset(offX, offY, offZ); + boolean silkTouch = tMineBlock.canSilkHarvest(getBaseMetaTileEntity().getWorld(), null, posX, posY, posZ, metadata); if (silkTouch){ ItemStack IS = new ItemStack(tMineBlock); IS.setItemDamage(metadata); @@ -151,10 +159,10 @@ public class GT_MetaTileEntity_AdvMiner2 extends GT_MetaTileEntity_MultiBlockBas tDrops.add(IS); } else{ - tDrops = tMineBlock.getDrops(getBaseMetaTileEntity().getWorld(), mle.chunkPosX, mle.chunkPosY, mle.chunkPosZ, metadata, 1); + tDrops = tMineBlock.getDrops(getBaseMetaTileEntity().getWorld(), posX, posY, posZ, metadata, 1); } - getBaseMetaTileEntity().getWorld().setBlockToAir(mle.chunkPosX + getBaseMetaTileEntity().getXCoord(), mle.chunkPosY + getBaseMetaTileEntity().getYCoord(), mle.chunkPosZ + getBaseMetaTileEntity().getZCoord()); + getBaseMetaTileEntity().getWorld().setBlockToAir(posX, posY, posZ); if (!tDrops.isEmpty()) { ItemData tData = GT_OreDictUnificator.getItemData(tDrops.get(0).copy()); if (tData.mPrefix != OrePrefixes.crushed && tData.mMaterial.mMaterial != Materials.Oilsands) { |