aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com>2024-08-14 07:18:04 +1000
committerGitHub <noreply@github.com>2024-08-13 23:18:04 +0200
commitb23d0a2767f74705d5c41a4a3bf67563c81f9219 (patch)
treea628fa455e395cca4e95583c3285c26708b2f610
parenta5bd7d78d53b8bc10349e431a878f721f3624756 (diff)
downloadnotenoughupdates-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.kt40
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
}
}