diff options
author | 初夏同学 <30284813+wohaopa@users.noreply.github.com> | 2023-07-04 00:01:26 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-03 18:01:26 +0200 |
commit | 891ab02fcad4f8f8f13ba07b1792d2d67023c5fa (patch) | |
tree | 23c49ce6ac7ce7d6c46edec1e2640bc8333454d7 /src/main/java/gregtech/api | |
parent | 86182599103a7ecf9af48d01c49368c56eefa47e (diff) | |
download | GT5-Unofficial-891ab02fcad4f8f8f13ba07b1792d2d67023c5fa.tar.gz GT5-Unofficial-891ab02fcad4f8f8f13ba07b1792d2d67023c5fa.tar.bz2 GT5-Unofficial-891ab02fcad4f8f8f13ba07b1792d2d67023c5fa.zip |
Fix the shadow ItemStack bug of multi-InputBus_ME (#2104)
* Fix the shadow ItemStack bug of multi-InputBus_ME
* resolve code style
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index 8f5f3ee48c..7cefae41e5 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -8,6 +8,7 @@ import static mcp.mobius.waila.api.SpecialChars.RESET; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -75,6 +76,7 @@ import gregtech.api.util.VoidProtectionHelper; import gregtech.client.GT_SoundLoop; import gregtech.common.GT_Pollution; import gregtech.common.items.GT_MetaGenerated_Tool_01; +import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_InputBus_ME; import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_OutputBus_ME; import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_Output_ME; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_DrillerBase; @@ -1086,21 +1088,27 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity public ArrayList<ItemStack> getStoredInputs() { ArrayList<ItemStack> rList = new ArrayList<>(); + HashMap<String, ItemStack> rInputBusMeList = new HashMap<>(); for (GT_MetaTileEntity_Hatch_InputBus tHatch : mInputBusses) { tHatch.mRecipeMap = getRecipeMap(); if (isValidMetaTileEntity(tHatch)) { - for (int i = tHatch.getBaseMetaTileEntity() - .getSizeInventory() - 1; i >= 0; i--) { - if (tHatch.getBaseMetaTileEntity() - .getStackInSlot(i) != null) - rList.add( - tHatch.getBaseMetaTileEntity() - .getStackInSlot(i)); + IGregTechTileEntity tileEntity = tHatch.getBaseMetaTileEntity(); + if (tHatch instanceof GT_MetaTileEntity_Hatch_InputBus_ME) { + for (int i = tileEntity.getSizeInventory() - 1; i >= 0; i--) { + ItemStack itemStack = tileEntity.getStackInSlot(i); + if (itemStack != null) rInputBusMeList.put(itemStack.toString(), itemStack); + } + } else { + for (int i = tileEntity.getSizeInventory() - 1; i >= 0; i--) { + ItemStack itemStack = tileEntity.getStackInSlot(i); + if (itemStack != null) rList.add(itemStack); + } } } } if (getStackInSlot(1) != null && getStackInSlot(1).getUnlocalizedName() .startsWith("gt.integrated_circuit")) rList.add(getStackInSlot(1)); + if (!rInputBusMeList.isEmpty()) rList.addAll(rInputBusMeList.values()); return rList; } |