diff options
author | Martin Robertz <dream-master@gmx.net> | 2022-08-02 16:51:23 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-02 16:51:23 +0700 |
commit | 6785198ca58ad0e21d334bbec72c01ddc8315de8 (patch) | |
tree | 39b6cb7d412f8827e45378fcba8e3900ca2514d9 /src/main/java/com | |
parent | dde205d7b337fbed69292b41023f7fa9351f9c37 (diff) | |
parent | 4173505dc44a75ef0df9fcd0ca81a6df40cb5140 (diff) | |
download | GT5-Unofficial-6785198ca58ad0e21d334bbec72c01ddc8315de8.tar.gz GT5-Unofficial-6785198ca58ad0e21d334bbec72c01ddc8315de8.tar.bz2 GT5-Unofficial-6785198ca58ad0e21d334bbec72c01ddc8315de8.zip |
Merge pull request #69 from alexandre-tardif/feature/allow-data-bank-daisy-chain
Allow databanks to be daisy chained
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java | 15 |
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; } |