aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Tardif <alexandre.tardif@nexusinno.com>2022-08-01 05:44:44 -0400
committerAlexandre Tardif <alexandre.tardif@nexusinno.com>2022-08-01 05:44:44 -0400
commit4173505dc44a75ef0df9fcd0ca81a6df40cb5140 (patch)
tree957d9b7136e8d30ca8fda3a51d880b664309d6dc
parent2cfa4e316f91229038e1de4432872118230e487a (diff)
downloadGT5-Unofficial-4173505dc44a75ef0df9fcd0ca81a6df40cb5140.tar.gz
GT5-Unofficial-4173505dc44a75ef0df9fcd0ca81a6df40cb5140.tar.bz2
GT5-Unofficial-4173505dc44a75ef0df9fcd0ca81a6df40cb5140.zip
Allow databanks to be daisy chained
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
index a606e4163c..00efac0828 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
@@ -21,6 +21,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
@@ -40,7 +41,8 @@ import static net.minecraft.util.StatCollector.translateToLocal;
public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable {
//region variables
private final ArrayList<GT_MetaTileEntity_Hatch_OutputDataItems> eStacksDataOutputs = new ArrayList<>();
- private final ArrayList<GT_MetaTileEntity_Hatch_DataAccess> eDataAccessHatches = new ArrayList<>();
+ private final ArrayList<IInventory> eDataAccessHatches = new ArrayList<>();
+ private boolean slave = false;
//endregion
//region structure
@@ -99,13 +101,14 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB
public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) {
eDataAccessHatches.clear();
eStacksDataOutputs.clear();
+ slave = false;
return structureCheck_EM("main", 2, 1, 0);
}
@Override
public boolean checkRecipe_EM(ItemStack itemStack) {
if (eDataAccessHatches.size() > 0 && eStacksDataOutputs.size() > 0) {
- mEUt = -(int) V[4];
+ mEUt = -(int) V[slave ? 6 : 4];
eAmpereFlow = 1 + eStacksDataOutputs.size() * eDataAccessHatches.size();
mMaxProgresstime = 20;
mEfficiencyIncrease = 10000;
@@ -117,7 +120,7 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB
@Override
public void outputAfterRecipe_EM() {
ArrayList<ItemStack> stacks = new ArrayList<>();
- for (GT_MetaTileEntity_Hatch_DataAccess dataAccess : eDataAccessHatches) {
+ for (IInventory dataAccess : eDataAccessHatches) {
int count = dataAccess.getSizeInventory();
for (int i = 0; i < count; i++) {
ItemStack stack = dataAccess.getStackInSlot(i);
@@ -177,7 +180,11 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB
return eStacksDataOutputs.add((GT_MetaTileEntity_Hatch_OutputDataItems) aMetaTileEntity);
} else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess && !(aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems)) {
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
- return eDataAccessHatches.add((GT_MetaTileEntity_Hatch_DataAccess) aMetaTileEntity);
+ return eDataAccessHatches.add(aMetaTileEntity);
+ } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputDataItems) {
+ ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
+ slave = true;
+ return eDataAccessHatches.add(aMetaTileEntity);
}
return false;
}