aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-10 10:40:06 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-10 10:40:06 +0200
commitd1e04ac013791113f1abf7fa7c64a047f92b1f15 (patch)
treef7c17a07b8b78d412bfbce2177105e851b665eea /src/main/java/at/hannibal2/skyhanni/features
parent522ccb4d14781ebbfe603d299986f85b95341107 (diff)
downloadskyhanni-d1e04ac013791113f1abf7fa7c64a047f92b1f15.tar.gz
skyhanni-d1e04ac013791113f1abf7fa7c64a047f92b1f15.tar.bz2
skyhanni-d1e04ac013791113f1abf7fa7c64a047f92b1f15.zip
Reading/writing farming armor drops directly from and to config
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingArmorDrops.kt29
1 files changed, 8 insertions, 21 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingArmorDrops.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingArmorDrops.kt
index 63d1a39a9..55a0f157b 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingArmorDrops.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingArmorDrops.kt
@@ -12,7 +12,8 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class FarmingArmorDrops {
private var display = emptyList<String>()
- private val drops = mutableMapOf<ArmorDropType, Int>()
+ private val storage get() = GardenAPI.config
+
private var hasArmor = false
private val armorPattern = "(FERMENTO|CROPIE|SQUASH|MELON)_(LEGGINGS|CHESTPLATE|BOOTS|HELMET)".toPattern()
private val config get() = SkyHanniMod.feature.garden
@@ -26,7 +27,6 @@ class FarmingArmorDrops {
@SubscribeEvent
fun onPreProfileSwitch(event: PreProfileSwitchEvent) {
display = emptyList()
- drops.clear()
hasArmor = false
}
@@ -43,9 +43,9 @@ class FarmingArmorDrops {
}
private fun addDrop(drop: ArmorDropType) {
+ val drops = storage?.farmArmorDrops ?: return
val old = drops[drop] ?: 0
drops[drop] = old + 1
- saveConfig()
update()
}
@@ -53,31 +53,18 @@ class FarmingArmorDrops {
display = drawDisplay()
}
- private fun drawDisplay(): List<String> {
- val help = mutableListOf<String>()
- help.add("§7RNG Drops for Farming Armor:")
+ private fun drawDisplay() = buildList {
+ val drops = storage?.farmArmorDrops ?: return@buildList
+
+ add("§7RNG Drops for Farming Armor:")
for ((drop, amount) in drops.sortedDesc()) {
val dropName = drop.dropName
- help.add(" §7- §e${amount.addSeparators()}x $dropName")
- }
-
- return help
- }
-
- private fun saveConfig() {
- val map = GardenAPI.config?.farmArmorDrops ?: return
- map.clear()
- for ((drop, amount) in drops) {
- map[drop.toString()] = amount
+ add(" §7- §e${amount.addSeparators()}x $dropName")
}
}
@SubscribeEvent
fun onConfigLoad(event: ConfigLoadEvent) {
- val map = GardenAPI.config?.farmArmorDrops ?: return
- for ((rawName, amount) in map) {
- drops[ArmorDropType.valueOf(rawName)] = amount
- }
update()
}