diff options
author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-08-10 10:40:06 +0200 |
---|---|---|
committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-08-10 10:40:06 +0200 |
commit | d1e04ac013791113f1abf7fa7c64a047f92b1f15 (patch) | |
tree | f7c17a07b8b78d412bfbce2177105e851b665eea /src/main/java/at/hannibal2/skyhanni/features | |
parent | 522ccb4d14781ebbfe603d299986f85b95341107 (diff) | |
download | skyhanni-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.kt | 29 |
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() } |