diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-04-13 05:46:08 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-04-13 05:46:08 +0200 |
| commit | 3d06b454d2cb2b92766dd3967ec0c97d2df17bf3 (patch) | |
| tree | 96fe64c0559934daf3d592d29e1d46055d550826 /src/main/java/at/hannibal2/skyhanni/data | |
| parent | 274bd74d397da5b43b900d0f766ce7825e079061 (diff) | |
| download | SkyHanni-3d06b454d2cb2b92766dd3967ec0c97d2df17bf3.tar.gz SkyHanni-3d06b454d2cb2b92766dd3967ec0c97d2df17bf3.tar.bz2 SkyHanni-3d06b454d2cb2b92766dd3967ec0c97d2df17bf3.zip | |
added composter empty time
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/GardenComposterUpgradesData.kt | 30 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/model/ComposterUpgrade.kt | 18 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenComposterUpgradesData.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenComposterUpgradesData.kt new file mode 100644 index 000000000..126cd52ea --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/GardenComposterUpgradesData.kt @@ -0,0 +1,30 @@ +package at.hannibal2.skyhanni.data + +import at.hannibal2.skyhanni.data.model.ComposterUpgrade +import at.hannibal2.skyhanni.events.InventoryOpenEvent +import at.hannibal2.skyhanni.features.garden.GardenAPI +import at.hannibal2.skyhanni.features.garden.composter.ComposterAPI +import at.hannibal2.skyhanni.utils.ItemUtils.name +import at.hannibal2.skyhanni.utils.NumberUtil.romanToDecimalIfNeeded +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class GardenComposterUpgradesData { + + @SubscribeEvent + fun onInventoryOpen(event: InventoryOpenEvent) { + if (!GardenAPI.inGarden()) return + if (event.inventoryName != "Composter Upgrades") return + for (item in event.inventoryItems.values) { + val itemName = item.name ?: continue + val matcher = ComposterUpgrade.regex.matcher(itemName) + if (!matcher.matches()) continue + + if (matcher.groupCount() != 0) { + val name = matcher.group("name") + val level = matcher.group("level")?.romanToDecimalIfNeeded() ?: 0 + val composterUpgrade = ComposterUpgrade.getByName(name)!! + ComposterAPI.composterUpgrades[composterUpgrade] = level + } + } + } +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/data/model/ComposterUpgrade.kt b/src/main/java/at/hannibal2/skyhanni/data/model/ComposterUpgrade.kt new file mode 100644 index 000000000..83a106ca8 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/model/ComposterUpgrade.kt @@ -0,0 +1,18 @@ +package at.hannibal2.skyhanni.data.model + +enum class ComposterUpgrade(val displayName: String) { + COMPOSTER_SPEED("Composter Speed"), + ORGANIC_MATTER_CAP("Organic Matter Cap"), + MULTI_DROP("Multi Drop"), + COST_REDUCTION("Cost Reduction"), + FUEL_CAP("Fuel Cap"), + ; + + companion object { + private fun regexValues() = values().joinToString("|") { it.displayName } + + val regex = "§a(?<name>${regexValues()})(?: (?<level>.*))?".toPattern() + + fun getByName(name: String) = values().firstOrNull { it.displayName == name } + } +}
\ No newline at end of file |
