diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-08-14 07:18:04 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-13 23:18:04 +0200 |
| commit | b23d0a2767f74705d5c41a4a3bf67563c81f9219 (patch) | |
| tree | a628fa455e395cca4e95583c3285c26708b2f610 | |
| parent | a5bd7d78d53b8bc10349e431a878f721f3624756 (diff) | |
| download | notenoughupdates-b23d0a2767f74705d5c41a4a3bf67563c81f9219.tar.gz notenoughupdates-b23d0a2767f74705d5c41a4a3bf67563c81f9219.tar.bz2 notenoughupdates-b23d0a2767f74705d5c41a4a3bf67563c81f9219.zip | |
Fix musuem overlay not showing all armour (#1293)
Co-authored-by: Robert Kovac <robertkovac160@gmail.com>
| -rw-r--r-- | src/main/kotlin/io/github/moulberry/notenoughupdates/util/MuseumUtil.kt | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/src/main/kotlin/io/github/moulberry/notenoughupdates/util/MuseumUtil.kt b/src/main/kotlin/io/github/moulberry/notenoughupdates/util/MuseumUtil.kt index e9c2486a..95b61b51 100644 --- a/src/main/kotlin/io/github/moulberry/notenoughupdates/util/MuseumUtil.kt +++ b/src/main/kotlin/io/github/moulberry/notenoughupdates/util/MuseumUtil.kt @@ -95,7 +95,16 @@ object MuseumUtil { "HELMET", "LEGGINGS", "CHESTPLATE", - "BOOTS" + "BOOTS", + "NECKLACE", + "CLOAK", + "BELT", + "GAUNTLET", + "HOOD", + "TROUSERS", + "TUNIC", + "SLIPPERS", + "HAT", ) val monochromeName = NEUManager.cleanForTitleMapSearch(displayName) val results = ItemResolutionQuery.findInternalNameCandidatesForDisplayName(displayName) @@ -107,7 +116,34 @@ object MuseumUtil { } .toSet() return armorSlots.map { armorSlot -> - results.singleOrNull { armorSlot in it } + var singleOrNull = results.singleOrNull { armorSlot in it } + if (singleOrNull == null) { + convertArmourNameToId(monochromeName, armorSlot) + } else { + singleOrNull + } + } + } + + fun convertArmourNameToId(name: String, armorSlot: String): String? { + var internalId = "" + if (name.contains("perfect ")) { + try { + Utils.parseRomanNumeral(name.replace("perfect armor tier ", "").uppercase()).let { + internalId = "PERFECT_${armorSlot}_$it" + } + } catch (_: Exception) { + } + } else if (name.contains("divan")) { + internalId = "DIVAN_$armorSlot" + } else { + internalId = "${name.replace("armor", "").uppercase().replace(" ", "_")}$armorSlot" + } + val findInternalId = NotEnoughUpdates.INSTANCE.manager.createItemResolutionQuery().withKnownInternalName(internalId).resolveToItemStack() + return if (findInternalId != null) { + internalId + } else { + null } } |
