aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
author初夏同学 <30284813+wohaopa@users.noreply.github.com>2023-07-04 00:01:26 +0800
committerGitHub <noreply@github.com>2023-07-03 18:01:26 +0200
commit891ab02fcad4f8f8f13ba07b1792d2d67023c5fa (patch)
tree23c49ce6ac7ce7d6c46edec1e2640bc8333454d7 /src/main/java/gregtech/api
parent86182599103a7ecf9af48d01c49368c56eefa47e (diff)
downloadGT5-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.java22
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;
}