aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-11-24 21:44:23 +0100
committerGitHub <noreply@github.com>2022-11-24 21:44:23 +0100
commitcf7b6f2e63ca1f30a567ec4ec07f7a3d2b09013c (patch)
tree3ce46c627b38546439bd68490913cb937ad09718
parenta54d284d4536d9bbb6e6932ebbbc32781c53e375 (diff)
downloadGT5-Unofficial-cf7b6f2e63ca1f30a567ec4ec07f7a3d2b09013c.tar.gz
GT5-Unofficial-cf7b6f2e63ca1f30a567ec4ec07f7a3d2b09013c.tar.bz2
GT5-Unofficial-cf7b6f2e63ca1f30a567ec4ec07f7a3d2b09013c.zip
Prevent player inventory corruption (#235)
* Ugh * Merge same slots * Remove growth progress * Update GT_TileEntity_ExtremeIndustrialGreenhouse.java Co-authored-by: Martin Robertz <dream-master@gmx.net> Former-commit-id: 1878ef170e99a2285c153075e58ba58fcc0235a8
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ExtremeIndustrialGreenhouse.java18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ExtremeIndustrialGreenhouse.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ExtremeIndustrialGreenhouse.java
index 71077a3a31..b9123478e5 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ExtremeIndustrialGreenhouse.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ExtremeIndustrialGreenhouse.java
@@ -525,20 +525,18 @@ public class GT_TileEntity_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);