aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-11-24 21:44:23 +0100
committerkuba6000 <kuba.123123.6000@gmail.com>2022-11-24 21:44:23 +0100
commit9b12b5c8495d83adbb99601c86ce6dcd963fe541 (patch)
treee355514dca7437cd49f884040936fd73044de4e8
parentff7c62810df057c38cc85dc43b071972b14e715b (diff)
downloadGT5-Unofficial-9b12b5c8495d83adbb99601c86ce6dcd963fe541.tar.gz
GT5-Unofficial-9b12b5c8495d83adbb99601c86ce6dcd963fe541.tar.bz2
GT5-Unofficial-9b12b5c8495d83adbb99601c86ce6dcd963fe541.zip
Prevent player inventory corruption (GTNewHorizons/bartworks#235)
* Ugh * Merge same slots * Remove growth progress * Update GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java Co-authored-by: Martin Robertz <dream-master@gmx.net>
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
index da7a634c0d..e29aa42d8c 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
@@ -525,20 +525,18 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
"Max slots: " + EnumChatFormatting.GREEN + this.mMaxSlots + EnumChatFormatting.RESET,
"Used slots: " + ((mStorage.size() > mMaxSlots) ? EnumChatFormatting.RED : EnumChatFormatting.GREEN)
+ this.mStorage.size() + EnumChatFormatting.RESET));
- for (int i = 0; i < mStorage.size(); i++) {
- if (!mStorage.get(i).isValid) continue;
- StringBuilder a = new StringBuilder(
- "Slot " + i + ": " + EnumChatFormatting.GREEN + "x" + this.mStorage.get(i).input.stackSize + " "
- + this.mStorage.get(i).input.getDisplayName());
+ HashMap<String, Integer> storageList = new HashMap<>();
+ for (GreenHouseSlot greenHouseSlot : mStorage) {
+ if (!greenHouseSlot.isValid) continue;
+ StringBuilder a = new StringBuilder(EnumChatFormatting.GREEN + "x" + greenHouseSlot.input.stackSize + " "
+ + greenHouseSlot.input.getDisplayName());
if (this.isIC2Mode) {
- a.append(" | Humidity: " + (this.mStorage.get(i).noHumidity ? 0 : 12) + " : ");
- for (Map.Entry<String, Double> entry :
- mStorage.get(i).dropprogress.entrySet())
- a.append((int) (entry.getValue() * 100d)).append("% ");
+ a.append(" | Humidity: ").append(greenHouseSlot.noHumidity ? 0 : 12);
}
a.append(EnumChatFormatting.RESET);
- info.add(a.toString());
+ storageList.merge(a.toString(), 1, Integer::sum);
}
+ storageList.forEach((k, v) -> info.add("x" + v + " " + k));
if (mStorage.size() > mMaxSlots)
info.add(EnumChatFormatting.DARK_RED + "There are too many crops inside to run !"
+ EnumChatFormatting.RESET);