From 1c0ed30ca4d2d0924a5e5ff35f6bdfd35b6a43b0 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Sun, 26 Mar 2023 00:30:58 +0100 Subject: Added Visitor Item Preview - Show the base type for the required items next to new visitors (Note that some visitors may require any crop) --- .../damageindicator/DamageIndicatorManager.kt | 2 +- .../features/garden/GardenVisitorColorNames.kt | 16 ++++++++++----- .../features/garden/GardenVisitorFeatures.kt | 23 +++++++++++++++++++++- 3 files changed, 34 insertions(+), 7 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features') diff --git a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt index eb9367776..cc751e526 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt @@ -668,7 +668,7 @@ class DamageIndicatorManager { 270_000 / 2, 270_000 -> 1 0 -> 0 else -> { - LorenzTest.text = "thorn has ${LorenzUtils.formatDouble(realHealth.toDouble())} hp!" + LorenzTest.displayLine = "thorn has ${LorenzUtils.formatDouble(realHealth.toDouble())} hp!" LorenzUtils.error( "Unexpected health of thorn in m4! (${ LorenzUtils.formatDouble( diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorColorNames.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorColorNames.kt index 090cfd1b5..cf0df59e8 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorColorNames.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorColorNames.kt @@ -11,13 +11,18 @@ class GardenVisitorColorNames { @SubscribeEvent fun onRepoReload(event: RepositoryReloadEvent) { try { - val map = mutableMapOf() + val mapColor = mutableMapOf() + val mapItems = mutableMapOf>() val garden = event.getConstant("Garden")!! for ((name, element) in garden["visitors"].asJsonObject.entrySet()) { - val rarity = element.asJsonObject["rarity"].asString - map[name] = getColor(rarity) + val jsonObject = element.asJsonObject + val rarity = jsonObject["rarity"].asString + mapColor[name] = getColor(rarity) + mapItems[name] = jsonObject["need_items"].asJsonArray.map { it.asString } + } - visitorColor = map + visitorColor = mapColor + visitorItems = mapItems } catch (e: Exception) { e.printStackTrace() @@ -25,8 +30,9 @@ class GardenVisitorColorNames { } } - companion object{ + companion object { private var visitorColor = mapOf() // name -> color code + var visitorItems = mapOf>() fun getColoredName(name: String): String { if (!SkyHanniMod.feature.garden.visitorColoredName) return name diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt index 16edfec89..5ecdad087 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenVisitorFeatures.kt @@ -139,7 +139,28 @@ class GardenVisitorFeatures { newDisplay.add(Collections.singletonList("§e$amount §7new $visitorLabel:")) for (visitor in newVisitors) { val displayName = GardenVisitorColorNames.getColoredName(visitor) - newDisplay.add(Collections.singletonList(" §7- $displayName")) + + val list = mutableListOf() + list.add(" §7- $displayName") + + if (config.visitorItemPreview) { + val items = GardenVisitorColorNames.visitorItems[visitor.removeColor()]!! + list.add(" ") + if (items.isEmpty()) { + list.add("§7(§fAny§7)") + } else { + for (item in items) { + try { + val internalName = NEUItems.getInternalName(item) + list.add(NEUItems.getItemStack(internalName)) + } catch (e: Exception) { + list.add(" '$item' ") + } + } + } + } + + newDisplay.add(list) } } -- cgit