aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patch.diff3087
1 files changed, 0 insertions, 3087 deletions
diff --git a/patch.diff b/patch.diff
deleted file mode 100644
index db06287d97..0000000000
--- a/patch.diff
+++ /dev/null
@@ -1,3087 +0,0 @@
-From 9c09b6ebe1bfbef3d694b98b5e8c00f4fb37142e Mon Sep 17 00:00:00 2001
-From: Dream-Master <dream-master@gmx.net>
-Date: Sat, 7 Oct 2017 22:49:34 +0200
-Subject: [PATCH] cherry pick Commit: f5abfcefe8d77e2c3c6284bff72de25c0a0ef774
- [f5abfce]
-
-The right method to find out whether the machine should break the block.
----
- .../common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java | 2 +-
- .../machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java | 3 +--
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
-index cec1c5a..3bc1045 100644
---- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java
-@@ -201,7 +201,7 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
- if (yHead <= 0) {
- return false;
- }
-- if ((!consumeFluid(getBaseMetaTileEntity().getXCoord(), yHead - 1, getBaseMetaTileEntity().getZCoord())) && (!getBaseMetaTileEntity().getAir(getBaseMetaTileEntity().getXCoord(), yHead - 1, getBaseMetaTileEntity().getZCoord()))) {
-+ if ((!consumeFluid(getBaseMetaTileEntity().getXCoord(), yHead - 1, getBaseMetaTileEntity().getZCoord())) && (!getBaseMetaTileEntity().getBlock(getBaseMetaTileEntity().getXCoord(), yHead - 1, getBaseMetaTileEntity().getZCoord()).isAir(getBaseMetaTileEntity().getWorld(), getBaseMetaTileEntity().getXCoord(), yHead - 1, getBaseMetaTileEntity().getZCoord()))) {
-
- return false;
- }
-diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java
-index 3fa1a98..3f44900 100644
---- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java
-@@ -92,8 +92,7 @@ public abstract class GT_MetaTileEntity_ConcreteBackfillerBase extends GT_MetaTi
-
- private boolean isRefillableBlock(int aX, int aY, int aZ){
- IGregTechTileEntity aBaseTile = getBaseMetaTileEntity();
-- if (aBaseTile.getTileEntity(aX, aY, aZ) != null) return false;
-- if (!aBaseTile.getAir(aX, aY, aZ) && aBaseTile.getBlock(aX, aY, aZ).getMaterial().isSolid()) return false;
-+ if (!aBaseTile.getBlock(aX, aY, aZ).isAir(aBaseTile.getWorld(), aX, aY, aZ) || aBaseTile.getBlock(aX, aY, aZ).getMaterial().isSolid()) return false;
- if (!GT_Utility.setBlockByFakePlayer(getFakePlayer(aBaseTile), aX, aY, aZ, GregTech_API.sBlockConcretes, 8, true)) return false;
- return true;
- }
---
-1.9.5.msysgit.0
-
-From 74199106670216396a0d2a9c9892969b13930e3e Mon Sep 17 00:00:00 2001
-From: Dream-Master <dream-master@gmx.net>
-Date: Tue, 12 Sep 2017 23:18:27 +0200
-Subject: [PATCH] cherry pick bd305c45b038819de2a0e61166da7344dbc770c7
- 69d557908f447be138102676309e48e5f95b32b9
-
-Fix localization of Item Distributor #1211
-https://github.com/Blood-Asp/GT5-Unofficial/pull/1211
----
- src/main/java/gregtech/api/util/GT_LanguageManager.java | 1 +
- .../tileentities/automation/GT_MetaTileEntity_ItemDistributor.java | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java
-index 58e6d91..b2d977e 100644
---- a/src/main/java/gregtech/api/util/GT_LanguageManager.java
-+++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java
-@@ -316,6 +316,7 @@ public class GT_LanguageManager {
- // addStringLocalization("Interaction_DESCRIPTION_Index_208", "Grab");
- // addStringLocalization("Interaction_DESCRIPTION_Index_209", "Grab");
- // addStringLocalization("Interaction_DESCRIPTION_Index_210", "Grab");
-+ addStringLocalization("Interaction_DESCRIPTION_Index_211", "Items per side: ");
-
- }
-
-diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
-index 8239dc1..5fa3bc8 100644
---- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
-+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
-@@ -153,7 +153,7 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
- //Adjust items per side by 1 or -1, constrained to the cyclic interval [0, 127]
- itemsPerSide[aSide] += aPlayer.isSneaking() ? -1 : 1;
- itemsPerSide[aSide] = (byte) ((itemsPerSide[aSide] + 128) % 128);
-- GT_Utility.sendChatToPlayer(aPlayer, trans("110", "Items per side: " + itemsPerSide[aSide]));
-+ GT_Utility.sendChatToPlayer(aPlayer, trans("211", "Items per side: ") + itemsPerSide[aSide]);
- }
-
- @Override
---
-1.9.5.msysgit.0
-
-From 9956fee4454bc9ec54f5a0ed04e37d6589cbaf19 Mon Sep 17 00:00:00 2001
-From: Dream-Master <dream-master@gmx.net>
-Date: Tue, 12 Sep 2017 23:16:04 +0200
-Subject: [PATCH] cherry pick
-
-dae15665ccb54a0a8d6a76ffcc7d48eae0abec15
-
-Odp speed improving #1209
-https://github.com/Blood-Asp/GT5-Unofficial/pull/1209
----
- .../multi/GT_MetaTileEntity_OreDrillingPlant1.java | 8 +-
- .../multi/GT_MetaTileEntity_OreDrillingPlant2.java | 7 +-
- .../multi/GT_MetaTileEntity_OreDrillingPlant3.java | 7 +-
- .../multi/GT_MetaTileEntity_OreDrillingPlant4.java | 8 +-
- .../GT_MetaTileEntity_OreDrillingPlantBase.java | 287 ++++++++++++++++++---
- 5 files changed, 274 insertions(+), 43 deletions(-)
-
-diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant1.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant1.java
-index 8d1f683..bd1c079 100644
---- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant1.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant1.java
-@@ -1,4 +1,3 @@
--
- package gregtech.common.tileentities.machines.multi;
-
- import gregtech.api.enums.ItemList;
-@@ -49,4 +48,9 @@ public class GT_MetaTileEntity_OreDrillingPlant1 extends GT_MetaTileEntity_OreDr
- protected int getMinTier() {
- return 2;
- }
--}
-+
-+ @Override
-+ protected int getBaseProgressTime() {
-+ return 960;
-+ }
-+}
-\ No newline at end of file
-diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant2.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant2.java
-index 2b161fe..272ea64 100644
---- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant2.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant2.java
-@@ -48,4 +48,9 @@ public class GT_MetaTileEntity_OreDrillingPlant2 extends GT_MetaTileEntity_OreDr
- protected int getMinTier() {
- return 3;
- }
--}
-+
-+ @Override
-+ protected int getBaseProgressTime() {
-+ return 800;
-+ }
-+}
-\ No newline at end of file
-diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant3.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant3.java
-index 1be6391..f89c578 100644
---- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant3.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant3.java
-@@ -48,4 +48,9 @@ public class GT_MetaTileEntity_OreDrillingPlant3 extends GT_MetaTileEntity_OreDr
- protected int getMinTier() {
- return 4;
- }
--}
-+
-+ @Override
-+ protected int getBaseProgressTime() {
-+ return 640;
-+ }
-+}
-\ No newline at end of file
-diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant4.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant4.java
-index 2488bc1..4059735 100644
---- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant4.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlant4.java
-@@ -1,4 +1,3 @@
--
- package gregtech.common.tileentities.machines.multi;
-
- import gregtech.api.enums.ItemList;
-@@ -49,4 +48,9 @@ public class GT_MetaTileEntity_OreDrillingPlant4 extends GT_MetaTileEntity_OreDr
- protected int getMinTier() {
- return 5;
- }
--}
-+
-+ @Override
-+ protected int getBaseProgressTime() {
-+ return 480;
-+ }
-+}
-\ No newline at end of file
-diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
-index c34d8b0..a227ab7 100644
---- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
-@@ -1,16 +1,18 @@
- package gregtech.common.tileentities.machines.multi;
-
--import static gregtech.api.enums.GT_Values.V;
--import static gregtech.api.enums.GT_Values.VN;
--
--import java.util.ArrayList;
--
-+import gregtech.api.GregTech_API;
- import gregtech.api.enums.ItemList;
- import gregtech.api.enums.Materials;
- import gregtech.api.enums.OrePrefixes;
-+import gregtech.api.enums.Textures;
- import gregtech.api.gui.GT_GUIContainer_MultiMachine;
-+import gregtech.api.interfaces.ITexture;
- import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
-+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
-+import gregtech.api.objects.GT_RenderedTexture;
- import gregtech.api.objects.ItemData;
-+import gregtech.api.util.GT_ModHandler;
- import gregtech.api.util.GT_OreDictUnificator;
- import gregtech.api.util.GT_Recipe;
- import gregtech.api.util.GT_Utility;
-@@ -20,40 +22,106 @@ import net.minecraft.block.Block;
- import net.minecraft.entity.player.InventoryPlayer;
- import net.minecraft.init.Blocks;
- import net.minecraft.item.ItemStack;
-+import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.world.ChunkPosition;
-+import net.minecraftforge.common.util.ForgeDirection;
- import net.minecraftforge.fluids.FluidStack;
-
--public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTileEntity_DrillerBase {
-+import java.util.ArrayList;
-+
-+import static gregtech.api.enums.GT_Values.*;
-+
-+public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTileEntity_MultiBlockBase {
-+ private static final ItemStack miningPipe = GT_ModHandler.getIC2Item("miningPipe", 0);
-+ private static final ItemStack miningPipeTip = GT_ModHandler.getIC2Item("miningPipeTip", 0);
-+ private static final Block miningPipeBlock = GT_Utility.getBlockFromStack(miningPipe);
-+ private static final Block miningPipeTipBlock = GT_Utility.getBlockFromStack(miningPipeTip);
-
- private final ArrayList<ChunkPosition> oreBlockPositions = new ArrayList<>();
-
-+ private Block casingBlock;
-+ private int casingMeta;
-+ private int frameMeta;
-+ private int casingTextureIndex;
-+
-+ private ForgeDirection back;
-+ private int xDrill, yDrill, zDrill, xCenter, zCenter, yHead;
-+
-+ private boolean isPickingPipes;
-+
- public GT_MetaTileEntity_OreDrillingPlantBase(int aID, String aName, String aNameRegional) {
- super(aID, aName, aNameRegional);
-+ initFields();
- }
-
- public GT_MetaTileEntity_OreDrillingPlantBase(String aName) {
- super(aName);
-+ initFields();
-+ }
-+
-+ private void initFields() {
-+ casingBlock = getCasingBlockItem().getBlock();
-+ casingMeta = getCasingBlockItem().get(0).getItemDamage();
-+ int frameId = 4096 + getFrameMaterial().mMetaItemSubID;
-+ frameMeta = GregTech_API.METATILEENTITIES[frameId] != null ? GregTech_API.METATILEENTITIES[frameId].getTileEntityBaseType() : W;
-+ casingTextureIndex = getCasingTextureIndex();
-+ isPickingPipes = false;
-+ }
-+
-+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
-+ if (aSide == aFacing)
-+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[casingTextureIndex],new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ORE_DRILL_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ORE_DRILL)};
-+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[casingTextureIndex]};
- }
-
-- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "OreDrillingPlant.png");
- }
-
- @Override
-- protected boolean workingDownward(ItemStack aStack, int xDrill, int yDrill, int zDrill, int xPipe, int zPipe, int yHead, int oldYHead){
-+ public void saveNBTData(NBTTagCompound aNBT) {
-+ super.saveNBTData(aNBT);
-+ aNBT.setBoolean("isPickingPipes", isPickingPipes);
-+ }
-+
-+ @Override
-+ public void loadNBTData(NBTTagCompound aNBT) {
-+ super.loadNBTData(aNBT);
-+ isPickingPipes = aNBT.getBoolean("isPickingPipes");
-+ }
-+
-+ @Override
-+ public boolean checkRecipe(ItemStack aStack) {
-+ setElectricityStats();
-+ int oldYHead = yHead;
-+ if (!checkPipesAndSetYHead() || !isEnergyEnough()) {
-+ stopMachine();
-+ return false;
-+ }
- if (yHead != oldYHead) oreBlockPositions.clear();
-+ if (isPickingPipes) {
-+ if (tryPickPipe()) {
-+ mOutputItems = new ItemStack[] {GT_Utility.copyAmount(1, miningPipe)};
-+ return true;
-+ } else {
-+ isPickingPipes = false;
-+ stopMachine();
-+ return false;
-+ }
-+ }
-
-- fillMineListIfEmpty(xDrill, yDrill, zDrill, xPipe, zPipe, yHead);
-+ putMiningPipesFromInputsInController();
-+ if (!tryConsumeDrillingFluid()) return false;
-+
-+ fillMineListIfEmpty();
- if (oreBlockPositions.isEmpty()) {
- if (!tryLowerPipe()) {
-- if (waitForPipes()) return false;
- isPickingPipes = true;
- return true;
- }
- //new layer - fill again
-- fillMineListIfEmpty(xDrill, yDrill, zDrill, xPipe, zPipe, yHead);
-+ fillMineListIfEmpty();
- }
-
- ChunkPosition oreBlockPos = null;
-@@ -64,7 +132,6 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
- oreBlock = getBaseMetaTileEntity().getBlock(oreBlockPos.chunkPosX, oreBlockPos.chunkPosY, oreBlockPos.chunkPosZ);
- }
-
-- if (!tryConsumeDrillingFluid()) return false;
- if (oreBlock != null && oreBlock != Blocks.air) {
- ArrayList<ItemStack> oreBlockDrops = getBlockDrops(oreBlock, oreBlockPos.chunkPosX, oreBlockPos.chunkPosY, oreBlockPos.chunkPosZ);
- getBaseMetaTileEntity().getWorld().setBlockToAir(oreBlockPos.chunkPosX, oreBlockPos.chunkPosY, oreBlockPos.chunkPosZ);
-@@ -74,29 +141,29 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
- return true;
- }
-
-- @Override
-- protected boolean checkHatches(){
-- return !mMaintenanceHatches.isEmpty() && !mInputHatches.isEmpty() && !mOutputBusses.isEmpty() && !mEnergyHatches.isEmpty();
-+ private boolean isEnergyEnough() {
-+ long requiredEnergy = 512 + getMaxInputVoltage() * 4;
-+ for (GT_MetaTileEntity_Hatch_Energy energyHatch : mEnergyHatches) {
-+ requiredEnergy -= energyHatch.getEUVar();
-+ if (requiredEnergy <= 0) return true;
-+ }
-+ return false;
- }
-
-- @Override
-- protected void setElectricityStats() {
-+ private boolean tryPickPipe() {
-+ if (yHead == yDrill) return false;
-+ if (checkBlockAndMeta(xCenter, yHead + 1, zCenter, miningPipeBlock, W))
-+ getBaseMetaTileEntity().getWorld().setBlock(xCenter, yHead + 1, zCenter, miningPipeTipBlock);
-+ getBaseMetaTileEntity().getWorld().setBlockToAir(xCenter, yHead, zCenter);
-+ return true;
-+ }
-+
-+ private void setElectricityStats() {
- this.mEfficiency = getCurrentEfficiency(null);
- this.mEfficiencyIncrease = 10000;
-- //T1 = 12; T2 = 48; T3 = 192; T4 = 768
-- this.mEUt = 3 * (1 << (getMinTier() << 1));
-- //T1 = 960; T2 = 480; T3 = 240; T4 = 120
-- this.mMaxProgresstime = (isPickingPipes ? 80 : 1920) / (1 << getMinTier());
--
-- long voltage = getMaxInputVoltage();
-- long overclockEu = V[Math.max(1, GT_Utility.getTier(voltage)) - 1];
-- while (this.mEUt <= overclockEu) {
-- this.mEUt *= 4;
-- this.mMaxProgresstime /= 2;
-- }
--
-- this.mEUt = -this.mEUt;
-- this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
-+ int overclock = 1 << GT_Utility.getTier(getMaxInputVoltage()) - 1;
-+ this.mEUt = -12 * overclock * overclock;
-+ this.mMaxProgresstime = (isPickingPipes ? 80 : getBaseProgressTime()) / overclock;
- }
-
- private ItemStack[] getOutputByDrops(ArrayList<ItemStack> oreBlockDrops) {
-@@ -149,17 +216,37 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
- }
-
- private boolean tryConsumeDrillingFluid() {
-- if (!depleteInput(new FluidStack(ItemList.sDrillingFluid, 2000))) {
-- mMaxProgresstime = 0;
-- return false;
-+ return depleteInput(new FluidStack(ItemList.sDrillingFluid, 2000));
-+ }
-+
-+ private void putMiningPipesFromInputsInController() {
-+ int maxPipes = miningPipe.getMaxStackSize();
-+ if (isHasMiningPipes(maxPipes)) return;
-+
-+ ItemStack pipes = getStackInSlot(1);
-+ for (ItemStack storedItem : getStoredInputs()) {
-+ if (!storedItem.isItemEqual(miningPipe)) continue;
-+
-+ if (pipes == null) {
-+ setInventorySlotContents(1, GT_Utility.copy(miningPipe));
-+ pipes = getStackInSlot(1);
-+ }
-+
-+ if (pipes.stackSize == maxPipes) break;
-+
-+ int needPipes = maxPipes - pipes.stackSize;
-+ int transferPipes = storedItem.stackSize < needPipes ? storedItem.stackSize : needPipes;
-+
-+ pipes.stackSize += transferPipes;
-+ storedItem.stackSize -= transferPipes;
- }
-- return true;
-+ updateSlots();
- }
-
-- private void fillMineListIfEmpty(int xDrill, int yDrill, int zDrill, int xPipe, int zPipe, int yHead) {
-+ private void fillMineListIfEmpty() {
- if (!oreBlockPositions.isEmpty()) return;
-
-- tryAddOreBlockToMineList(xPipe, yHead - 1, zPipe);
-+ tryAddOreBlockToMineList(xCenter, yHead - 1, zCenter);
- if (yHead == yDrill) return; //skip controller block layer
-
- int radius = getRadiusInChunks() << 4;
-@@ -184,8 +271,134 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
- }
- }
-
-+ private boolean tryLowerPipe() {
-+ if (!isHasMiningPipes()) return false;
-+
-+ if (yHead <= 0) return false;
-+ if (checkBlockAndMeta(xCenter, yHead - 1, zCenter, Blocks.bedrock, W)) return false;
-+
-+ getBaseMetaTileEntity().getWorld().setBlock(xCenter, yHead - 1, zCenter, miningPipeTipBlock);
-+ if (yHead != yDrill) getBaseMetaTileEntity().getWorld().setBlock(xCenter, yHead, zCenter, miningPipeBlock);
-+
-+ getBaseMetaTileEntity().decrStackSize(1, 1);
-+ return true;
-+ }
-+
-+ private boolean isHasMiningPipes() {
-+ return isHasMiningPipes(1);
-+ }
-+
-+ private boolean isHasMiningPipes(int minCount) {
-+ ItemStack pipe = getStackInSlot(1);
-+ return pipe != null && pipe.stackSize > minCount - 1 && pipe.isItemEqual(miningPipe);
-+ }
-+
-+ @Override
-+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
-+ updateCoordinates();
-+ //check base layer
-+ for (int xOff = -1 + back.offsetX; xOff <= 1 + back.offsetX; xOff++) {
-+ for (int zOff = -1 + back.offsetZ; zOff <= 1 + back.offsetZ; zOff++) {
-+ if (xOff == 0 && zOff == 0) continue;
-+
-+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xOff, 0, zOff);
-+ if (!checkCasingBlock(xOff, 0, zOff)
-+ && !addMaintenanceToMachineList(tTileEntity, casingTextureIndex)
-+ && !addInputToMachineList(tTileEntity, casingTextureIndex)
-+ && !addOutputToMachineList(tTileEntity, casingTextureIndex)
-+ && !addEnergyInputToMachineList(tTileEntity, casingTextureIndex))
-+ return false;
-+ }
-+ }
-+ if (mMaintenanceHatches.isEmpty() || mInputHatches.isEmpty() || mOutputBusses.isEmpty() || mEnergyHatches.isEmpty()) return false;
-+ if (GT_Utility.getTier(getMaxInputVoltage()) < getMinTier()) return false;
-+ //check tower
-+ for (int yOff = 1; yOff < 4; yOff++) {
-+ if (!checkCasingBlock(back.offsetX, yOff, back.offsetZ)
-+ || !checkFrameBlock(back.offsetX + 1, yOff, back.offsetZ)
-+ || !checkFrameBlock(back.offsetX - 1, yOff, back.offsetZ)
-+ || !checkFrameBlock(back.offsetX, yOff, back.offsetZ + 1)
-+ || !checkFrameBlock(back.offsetX, yOff, back.offsetZ - 1)
-+ || !checkFrameBlock(back.offsetX, yOff + 3, back.offsetZ))
-+ return false;
-+ }
-+ return true;
-+ }
-+
-+ private void updateCoordinates() {
-+ xDrill = getBaseMetaTileEntity().getXCoord();
-+ yDrill = getBaseMetaTileEntity().getYCoord();
-+ zDrill = getBaseMetaTileEntity().getZCoord();
-+ back = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing());
-+ xCenter = xDrill + back.offsetX;
-+ zCenter = zDrill + back.offsetZ;
-+ }
-+
-+ private boolean checkPipesAndSetYHead() {
-+ yHead = yDrill - 1;
-+ while (checkBlockAndMeta(xCenter, yHead, zCenter, miningPipeBlock, W)) yHead--; //skip pipes
-+ //is pipe tip OR is controller layer
-+ if (checkBlockAndMeta(xCenter, yHead, zCenter, miningPipeTipBlock, W) || ++yHead == yDrill) return true;
-+ //pipe column is broken - try fix
-+ getBaseMetaTileEntity().getWorld().setBlock(xCenter, yHead, zCenter, miningPipeTipBlock);
-+ return true;
-+ }
-+
-+ private boolean checkCasingBlock(int xOff, int yOff, int zOff) {
-+ return checkBlockAndMetaOffset(xOff, yOff, zOff, casingBlock, casingMeta);
-+ }
-+ //meta of frame is getTileEntityBaseType; frame should be checked using its drops (possible a high weight operation)
-+ private boolean checkFrameBlock(int xOff, int yOff, int zOff) {
-+ return checkBlockAndMetaOffset(xOff, yOff, zOff, GregTech_API.sBlockMachines, frameMeta);
-+ }
-+
-+ private boolean checkBlockAndMetaOffset(int xOff, int yOff, int zOff, Block block, int meta) {
-+ return checkBlockAndMeta(xDrill + xOff, yDrill + yOff, zDrill + zOff, block, meta);
-+ }
-+
-+ private boolean checkBlockAndMeta(int x, int y, int z, Block block, int meta) {
-+ return (meta == W || getBaseMetaTileEntity().getMetaID(x, y, z) == meta)
-+ && getBaseMetaTileEntity().getBlock(x, y, z) == block;
-+ }
-+
-+ @Override
-+ public boolean isCorrectMachinePart(ItemStack aStack) {
-+ return true;
-+ }
-+
-+ @Override
-+ public int getMaxEfficiency(ItemStack aStack) {
-+ return 10000;
-+ }
-+
-+ @Override
-+ public int getPollutionPerTick(ItemStack aStack) {
-+ return 0;
-+ }
-+
-+ @Override
-+ public int getDamageToComponent(ItemStack aStack) {
-+ return 0;
-+ }
-+
-+ @Override
-+ public boolean explodesOnComponentBreak(ItemStack aStack) {
-+ return false;
-+ }
-+
-+ protected abstract ItemList getCasingBlockItem();
-+
-+ protected abstract Materials getFrameMaterial();
-+
-+ protected abstract int getCasingTextureIndex();
-+
- protected abstract int getRadiusInChunks();
-
-+ protected abstract int getMinTier();
-+
-+ //returns theoretical progress time for LV energy hatch
-+ protected abstract int getBaseProgressTime();
-+
- protected String[] getDescriptionInternal(String tierSuffix) {
- String casings = getCasingBlockItem().get(0).getDisplayName();
- return new String[]{
---
-1.9.5.msysgit.0
-
-From a166a5bbd3a8d9809c2c3c3444451c2870a98cc7 Mon Sep 17 00:00:00 2001
-From: Dream-Master <dream-master@gmx.net>
-Date: Tue, 12 Sep 2017 23:11:20 +0200
-Subject: [PATCH] cherry pick ded594c86c701a0ff1f2282b4d6bff9cc7b1b9f6
- c6d39f12fdf85edbeadc725e0b398fa70eb15bd0
-
-Patched ME energy tunnel, now they can emit GT energy. #1200
-https://github.com/Blood-Asp/GT5-Unofficial/pull/1200
----
- src/main/java/gregtech/GT_Mod.java | 1 +
- .../loaders/postload/GT_AE2EnergyTunnelLoader.java | 27 +++++++
- .../gregtech/loaders/postload/PartP2PGTPower.java | 84 ++++++++++++++++++++++
- 3 files changed, 112 insertions(+)
- create mode 100644 src/main/java/gregtech/loaders/postload/GT_AE2EnergyTunnelLoader.java
- create mode 100644 src/main/java/gregtech/loaders/postload/PartP2PGTPower.java
-
-diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
-index 939d03a..e1f9842 100644
---- a/src/main/java/gregtech/GT_Mod.java
-+++ b/src/main/java/gregtech/GT_Mod.java
-@@ -625,6 +625,7 @@ public class GT_Mod implements IGT_Mod {
- new GT_CropLoader().run();
- new GT_Worldgenloader().run();
- new GT_CoverLoader().run();
-+ new GT_AE2EnergyTunnelLoader().run();
- LoadArmorComponents.init();
-
- GT_RecipeRegistrator.registerUsagesForMaterials(new ItemStack(Blocks.planks, 1), null, false);
-diff --git a/src/main/java/gregtech/loaders/postload/GT_AE2EnergyTunnelLoader.java b/src/main/java/gregtech/loaders/postload/GT_AE2EnergyTunnelLoader.java
-new file mode 100644
-index 0000000..a558696
---- /dev/null
-+++ b/src/main/java/gregtech/loaders/postload/GT_AE2EnergyTunnelLoader.java
-@@ -0,0 +1,27 @@
-+package gregtech.loaders.postload;
-+
-+import appeng.items.parts.PartType;
-+import gregtech.GT_Mod;
-+import gregtech.api.util.GT_Log;
-+
-+import java.lang.reflect.Field;
-+
-+public class GT_AE2EnergyTunnelLoader implements Runnable {
-+ @Override
-+ public void run() {
-+ if (GT_Mod.gregtechproxy.mAE2Integration) {
-+ try {
-+ load();
-+ } catch (Throwable e) {
-+ GT_Log.out.println("Failed to load P2P tunnel for GT electricity");
-+ e.printStackTrace(GT_Log.out);
-+ }
-+ }
-+ }
-+
-+ public void load() throws Throwable {
-+ Field f = PartType.class.getDeclaredField("myPart");
-+ f.setAccessible(true);
-+ f.set(PartType.P2PTunnelEU, PartP2PGTPower.class);
-+ }
-+}
-diff --git a/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java b/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java
-new file mode 100644
-index 0000000..30a3377
---- /dev/null
-+++ b/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java
-@@ -0,0 +1,84 @@
-+package gregtech.loaders.postload;
-+
-+import appeng.api.networking.IGridNode;
-+import appeng.api.networking.ticking.IGridTickable;
-+import appeng.api.networking.ticking.TickRateModulation;
-+import appeng.api.networking.ticking.TickingRequest;
-+import appeng.parts.p2p.PartP2PIC2Power;
-+import gregtech.api.interfaces.tileentity.IEnergyConnected;
-+import gregtech.api.util.GT_Utility;
-+import net.minecraft.item.ItemStack;
-+import net.minecraft.tileentity.TileEntity;
-+import net.minecraft.world.World;
-+import net.minecraftforge.common.util.ForgeDirection;
-+
-+public class PartP2PGTPower extends PartP2PIC2Power implements IGridTickable {
-+ public PartP2PGTPower(ItemStack is) {
-+ super(is);
-+ }
-+
-+ public final World getWorld() {
-+ return tile.getWorldObj();
-+ }
-+
-+ public final int getXCoord() {
-+ return tile.xCoord;
-+ }
-+
-+ public final short getYCoord() {
-+ return (short) tile.yCoord;
-+ }
-+
-+ public final int getZCoord() {
-+ return tile.zCoord;
-+ }
-+
-+ public final int getOffsetX(byte aSide, int aMultiplier) {
-+ return getXCoord() + ForgeDirection.getOrientation(aSide).offsetX * aMultiplier;
-+ }
-+
-+ public final short getOffsetY(byte aSide, int aMultiplier) {
-+ return (short) (getYCoord() + ForgeDirection.getOrientation(aSide).offsetY * aMultiplier);
-+ }
-+
-+ public final int getOffsetZ(byte aSide, int aMultiplier) {
-+ return getZCoord() + ForgeDirection.getOrientation(aSide).offsetZ * aMultiplier;
-+ }
-+
-+ public final TileEntity getTileEntity(int aX, int aY, int aZ) {
-+ return getWorld().getTileEntity(aX, aY, aZ);
-+ }
-+
-+ public final TileEntity getTileEntityAtSide(byte aSide) {
-+ int tX = getOffsetX(aSide, 1), tY = getOffsetY(aSide, 1), tZ = getOffsetZ(aSide, 1);
-+ return getWorld().getTileEntity(tX, tY, tZ);
-+ }
-+
-+ public boolean outputEnergy() {
-+ if (getOfferedEnergy() == 0) {
-+ return false;
-+ }
-+ TileEntity t = getTileEntityAtSide((byte) side.ordinal());
-+ if (t instanceof IEnergyConnected) {
-+ long voltage = 8 << (getSourceTier() * 2);
-+ if (voltage > getOfferedEnergy()) {
-+ voltage = (long) getOfferedEnergy();
-+ }
-+ if (((IEnergyConnected) t).injectEnergyUnits(GT_Utility.getOppositeSide(side.ordinal()), voltage, 1) > 0) {
-+ drawEnergy(voltage);
-+ return true;
-+ }
-+ }
-+ return false;
-+ }
-+
-+ @Override
-+ public TickingRequest getTickingRequest(IGridNode iGridNode) {
-+ return new TickingRequest(1, 20, false, false);
-+ }
-+
-+ @Override
-+ public TickRateModulation tickingRequest(IGridNode iGridNode, int i) {
-+ return outputEnergy() ? TickRateModulation.FASTER : TickRateModulation.SLOWER;
-+ }
-+}
-\ No newline at end of file
---
-1.9.5.msysgit.0
-
-From a4a0a7c2cc3c299969c62e509cc3c366a90214f3 Mon Sep 17 00:00:00 2001
-From: Dream-Master <dream-master@gmx.net>
-Date: Tue, 12 Sep 2017 23:06:55 +0200
-Subject: [PATCH] cherry pick 11213d18d7345ee29f2efce6c5d421a855bed056
- fb163d1be0aa291508bb6513e34cacba3ca06b36
- fb508132d91543d5e837dfa4fac09cf5e4b9e7a8
- d682ca0d36e3824b1bf73cc800f58c4126bcf104
- 0f2db4f76a88c26ca08b2da444b264444ce01316
- 50229e4506687d184c93ed702cdeeecea65e326a
-
-f5195f822d9951015c4ef6599e5b4f6544ec0714
-fbdb6ceecf60183ab382f043b78b61941157eccf
-55af1972b86a82bf6038342aa1a3bf9013d0f164
-
-c0d9d5a268da4b58385ee95e27408e06829c74b8
-416890142c0fa62617fc6e4537826689635e9eb3
-d532cb67f7bc68243e3d2dc2a12a466ed9c9e2d9
-d1671eaf33b3b4223da174e115f35b9bc1f19c5a
-4d90afad87375e3f1013a493f4b3b5d4e92bf521
-3c397d61697c13f0467e0cb67fb127fff8401f71
-64957ccd0f51ef283cc561d52a5439c3752c4e71
-
-b7e0863207253ee758742a22c607c3ccc37af6d3
-
-ae5a1e117d47876de9d2d2e8ea581e15686c5e1a
-a0eb30d03f8fc311598f628ad45b5365c7391917
-505a9c263e88e5519bade6a3167f829e41e13e64
-
-9cbb9c66a2f63e7e0cb4aceebfc9c93776b82be2
-
-Drillers upgrade #1163
-https://github.com/Blood-Asp/GT5-Unofficial/pull/1163
----
- src/main/java/gregtech/api/enums/ItemList.java | 2 +-
- .../api/gui/GT_GUIContainer_MultiMachine.java | 25 +-
- .../GT_MetaTileEntity_Hatch_DataAccess.java | 4 +
- .../multi/GT_MetaTileEntity_AssemblyLine.java | 2 +-
- .../GT_MetaTileEntity_ConcreteBackfiller1.java | 51 +++
- .../GT_MetaTileEntity_ConcreteBackfiller2.java | 66 ++++
- .../GT_MetaTileEntity_ConcreteBackfillerBase.java | 125 ++++++++
- .../multi/GT_MetaTileEntity_DrillerBase.java | 357 +++++++++++++++++++++
- .../machines/multi/GT_MetaTileEntity_OilDrill.java | 270 ----------------
- .../multi/GT_MetaTileEntity_OilDrill1.java | 51 +++
- .../multi/GT_MetaTileEntity_OilDrill2.java | 51 +++
- .../multi/GT_MetaTileEntity_OilDrill3.java | 51 +++
- .../multi/GT_MetaTileEntity_OilDrillBase.java | 152 +++++++++
- .../GT_MetaTileEntity_OreDrillingPlantBase.java | 269 ++--------------
- .../preload/GT_Loader_MetaTileEntities.java | 13 +-
- 15 files changed, 959 insertions(+), 530 deletions(-)
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfiller1.java
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfiller2.java
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ConcreteBackfillerBase.java
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java
- delete mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill1.java
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill2.java
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill3.java
- create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
-
-diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
-index b1c993a..1e0f667 100644
---- a/src/main/java/gregtech/api/enums/ItemList.java
-+++ b/src/main/java/gregtech/api/enums/ItemList.java
-@@ -661,7 +661,7 @@ public enum ItemList implements IItemContainer {
- Casing_Tank_1, Casing_Tank_2, Casing_Tank_3, Casing_Tank_4, Casing_Tank_5, Casing_Tank_6, Casing_Tank_7, Casing_Tank_8, Casing_Tank_9, Casing_Tank_10, Casing_Tank_11, Casing_Tank_12, Casing_Tank_13, Casing_Tank_14, Casing_Tank_15, Casing_Tank_0,
- MobRep_LV, MobRep_MV, MobRep_HV, MobRep_EV, MobRep_IV, MobRep_LuV, MobRep_ZPM, MobRep_UV, Cover_PlayerDetector, Machine_Multi_HeatExchanger,
- Block_BronzePlate, Block_IridiumTungstensteel, Block_Plascrete, Block_TungstenSteelReinforced,
-- Honeycomb, Charcoal_Pile, Block_BrittleCharcoal, Seismic_Prospector, Seismic_Prospector_Adv, OilDrill, OreDrill1, OreDrill2, OreDrill3, OreDrill4, PyrolyseOven, OilCracker, Crop_Drop_UUMBerry, Crop_Drop_UUABerry, Empty_Board_Basic, Empty_Board_Elite,
-+ Honeycomb, Charcoal_Pile, Block_BrittleCharcoal, Seismic_Prospector, Seismic_Prospector_Adv, OilDrill1, OilDrill2, OilDrill3, ConcreteBackfiller1, ConcreteBackfiller2, OreDrill1, OreDrill2, OreDrill3, OreDrill4, PyrolyseOven, OilCracker, Crop_Drop_UUMBerry, Crop_Drop_UUABerry, Empty_Board_Basic, Empty_Board_Elite,
- Battery_Charger_4by4_ULV, Battery_Charger_4by4_LV, Battery_Charger_4by4_MV, Battery_Charger_4by4_HV, Battery_Charger_4by4_EV, Battery_Charger_4by4_IV, Battery_Charger_4by4_LuV, Battery_Charger_4by4_ZPM, Battery_Charger_4by4_UV, Battery_Charger_4by4_MAX,
- MicroTransmitter_HV, MicroTransmitter_EV, MicroTransmitter_IV, MicroTransmitter_LUV, MicroTransmitter_ZPM,
- Crop_Drop_Bauxite, Crop_Drop_Ilmenite, Crop_Drop_Pitchblende, Crop_Drop_Uraninite, Crop_Drop_Thorium, Crop_Drop_Nickel, Crop_Drop_Zinc, Crop_Drop_Manganese, Crop_Drop_Scheelite, Crop_Drop_Platinum, Crop_Drop_Iridium, Crop_Drop_Osmium, Crop_Drop_Naquadah, Uraniumcell_1, Uraniumcell_2, Uraniumcell_4, Moxcell_1, Moxcell_2, Moxcell_4,
-diff --git a/src/main/java/gregtech/api/gui/GT_GUIContainer_MultiMachine.java b/src/main/java/gregtech/api/gui/GT_GUIContainer_MultiMachine.java
-index 5a7c487..62e6f8c 100644
---- a/src/main/java/gregtech/api/gui/GT_GUIContainer_MultiMachine.java
-+++ b/src/main/java/gregtech/api/gui/GT_GUIContainer_MultiMachine.java
-@@ -1,14 +1,18 @@
- package gregtech.api.gui;
-
--import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
--import gregtech.api.util.GT_LanguageManager;
--import gregtech.api.util.GT_ModHandler;
--import gregtech.api.util.GT_Utility;
--import gregtech.common.items.GT_MetaGenerated_Tool_01;
--import net.minecraft.entity.player.InventoryPlayer;
--import net.minecraft.item.ItemStack;
-+ import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
-+
-+ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-+ import gregtech.api.util.GT_LanguageManager;
-+ import gregtech.api.util.GT_ModHandler;
-+ import gregtech.api.util.GT_Utility;
-+ import gregtech.common.items.GT_MetaGenerated_Tool_01;
-+ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_DrillerBase;
-+ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeTurbine;
-+ import net.minecraft.entity.player.InventoryPlayer;
-+ import net.minecraft.item.ItemStack;
-+
-
--import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
-
- /**
- * NEVER INCLUDE THIS FILE IN YOUR MOD!!!
-@@ -54,13 +58,12 @@ public class GT_GUIContainer_MultiMachine extends GT_GUIContainerMetaTile_Machin
- } else {
- fontRendererObj.drawString(trans("142","Running perfectly."), 10, 16, 16448255);
- }
-- int id = mContainer.mTileEntity.getMetaTileID();
-- if (id == 1157 || id == 1158 || id == 1177 || id == 1178 || id == 1179) {
-+ if (mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_DrillerBase) {
- ItemStack tItem = mContainer.mTileEntity.getMetaTileEntity().getStackInSlot(1);
- if (tItem == null || !GT_Utility.areStacksEqual(tItem, GT_ModHandler.getIC2Item("miningPipe", 1L))) {
- fontRendererObj.drawString(trans("143", "Missing Mining Pipe"), 10, ((GT_Container_MultiMachine) mContainer).mActive == 0 ? 40 : 24, 16448255);
- }
-- } else if (id == 1131 || id == 1151 || id == 1152 || id == 1153) {
-+ } else if (mContainer.mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_LargeTurbine) {
- ItemStack tItem = mContainer.mTileEntity.getMetaTileEntity().getStackInSlot(1);
- if (tItem == null || !(tItem.getItem() == GT_MetaGenerated_Tool_01.INSTANCE && tItem.getItemDamage() >= 170 && tItem.getItemDamage() <= 177)) {
- fontRendererObj.drawString(trans("144", "Missing Turbine Rotor"), 10, ((GT_Container_MultiMachine) mContainer).mActive == 0 ? 40 : 24, 16448255);
-diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DataAccess.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DataAccess.java
-index e28f5e6..bbdf0ec 100644
---- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DataAccess.java
-+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DataAccess.java
-@@ -98,4 +98,8 @@ public class GT_MetaTileEntity_Hatch_DataAccess extends GT_MetaTileEntity_Hatch
- public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return false;
- }
-+ @Override
-+ public int getInventoryStackLimit() {
-+ return 1;
-+ }
- }
-diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
-index 85fa737..2934fc5 100644
---- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
-+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
-@@ -322,7 +322,7 @@ public class GT_MetaTileEntity_AssemblyLine
- * @param state using bitmask, 1 for IntegratedCircuit, 2 for DataStick, 4 for DataOrb
- */
- private boolean isCorrectDataItem(ItemStack aStack, int state){
-- if ((state & 1) != 0 && ItemList.Circuit_Integrated.isStackEqual(aStack, false, true)) return true;