aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlood-Asp <bloodasphendrik@gmail.com>2016-12-07 22:06:17 +0100
committerGitHub <noreply@github.com>2016-12-07 22:06:17 +0100
commit0c4e3cbd092de2660e4d4111b0322c8da03fde9c (patch)
tree1d4437cda86ef8d4be36e67b63c277b4ca100f27
parent7df5add5a90ca8f8b5f974306774927e7554bdee (diff)
parent4176f2c5252b80e40f9281cf2bc44bd0e0866822 (diff)
downloadGT5-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.java18
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) {