diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-08-14 07:01:56 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-13 23:01:56 +0200 |
| commit | e0f2329c779f3ca0652f64af4c9e2416280edb33 (patch) | |
| tree | f8d0eda111947776865e46a9d95b0bcb3a8c8807 | |
| parent | f829161159ed9d6aead2c47336bd34bb26863df6 (diff) | |
| download | notenoughupdates-e0f2329c779f3ca0652f64af4c9e2416280edb33.tar.gz notenoughupdates-e0f2329c779f3ca0652f64af4c9e2416280edb33.tar.bz2 notenoughupdates-e0f2329c779f3ca0652f64af4c9e2416280edb33.zip | |
Fix duplicates counting for mp in pv (#1311)
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewerUtils.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewerUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewerUtils.java index 22423c66..a83ab3c4 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewerUtils.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewerUtils.java @@ -40,6 +40,7 @@ import net.minecraft.util.EnumChatFormatting; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.AbstractMap; +import java.util.ArrayList; import java.util.Base64; import java.util.Comparator; import java.util.HashMap; @@ -118,8 +119,39 @@ public class ProfileViewerUtils { powerAmount += 11; } + HashSet<String> duplicates = new HashSet<>(); + for (Map.Entry<String, Integer> entry : accessories.entrySet()) { + if (duplicates.contains(entry.getKey())) continue; + + JsonObject misc = Constants.MISC; + JsonElement talisman_upgrades_element = misc.get("talisman_upgrades"); + if (talisman_upgrades_element == null) { + break; + } + String internalName = entry.getKey(); + JsonObject talisman_upgrades = talisman_upgrades_element.getAsJsonObject(); + + if (talisman_upgrades.has(internalName)) { + JsonArray upgrades = talisman_upgrades.get(internalName).getAsJsonArray(); + for (Map.Entry<String, Integer> entry2 : accessories.entrySet()) { + if (entry2 != entry) { + String internalname2 = entry2.getKey(); + ArrayList<String> upgradeIDs = new ArrayList<>(); + for (int j = 0; j < upgrades.size(); j++) { + String upgrade = upgrades.get(j).getAsString(); + upgradeIDs.add(upgrade); + if (internalname2.equals(upgrade)) { + duplicates.add(internalname2); + } + } + } + } + } + } + for (Map.Entry<String, Integer> entry : accessories.entrySet()) { if (ignoredTalismans.contains(entry.getKey())) continue; + if (duplicates.contains(entry.getKey())) continue; JsonArray children = Utils .getElementOrDefault(Constants.PARENTS, entry.getKey(), new JsonArray()) |
