aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-13 05:46:08 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-13 05:46:08 +0200
commit3d06b454d2cb2b92766dd3967ec0c97d2df17bf3 (patch)
tree96fe64c0559934daf3d592d29e1d46055d550826 /src/main/java/at/hannibal2/skyhanni/data
parent274bd74d397da5b43b900d0f766ce7825e079061 (diff)
downloadSkyHanni-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.kt30
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/model/ComposterUpgrade.kt18
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