aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-05-14 18:07:30 +1000
committerGitHub <noreply@github.com>2024-05-14 10:07:30 +0200
commite101b11cb4117d51c14c051689d380a815a5185b (patch)
treef8fa704c78439ce471b65b866603025ebfcbcafc /src/main/java/at/hannibal2/skyhanni/data
parente7284ce13a701305b49945c153229d4bc5fd2311 (diff)
downloadskyhanni-e101b11cb4117d51c14c051689d380a815a5185b.tar.gz
skyhanni-e101b11cb4117d51c14c051689d380a815a5185b.tar.bz2
skyhanni-e101b11cb4117d51c14c051689d380a815a5185b.zip
Fix: A few small bugs (#1792)
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/EntityMovementData.kt25
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/GardenCropUpgrades.kt58
2 files changed, 42 insertions, 41 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/EntityMovementData.kt b/src/main/java/at/hannibal2/skyhanni/data/EntityMovementData.kt
index 97039022a..17bf953c9 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/EntityMovementData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/EntityMovementData.kt
@@ -15,16 +15,18 @@ import net.minecraft.client.Minecraft
import net.minecraft.entity.Entity
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
-class EntityMovementData {
+object EntityMovementData {
- companion object {
+ private val warpingPattern by RepoPattern.pattern(
+ "data.entity.warping",
+ "§7(?:Warping|Warping you to your SkyBlock island|Warping using transfer token|Finding player|Sending a visit request)\\.\\.\\."
+ )
- private val entityLocation = mutableMapOf<Entity, LorenzVec>()
+ private val entityLocation = mutableMapOf<Entity, LorenzVec>()
- fun addToTrack(entity: Entity) {
- if (entity !in entityLocation) {
- entityLocation[entity] = entity.getLorenzVec()
- }
+ fun addToTrack(entity: Entity) {
+ if (entity !in entityLocation) {
+ entityLocation[entity] = entity.getLorenzVec()
}
}
@@ -46,15 +48,6 @@ class EntityMovementData {
}
}
- private val warpingPattern by RepoPattern.pattern(
- "warping",
- "§7Warping...|" +
- "§7Warping you to your SkyBlock island...|" +
- "§7Warping using transfer token...|" +
- "§7Finding player...|" +
- "§7Sending a visit request..."
- )
-
@SubscribeEvent
fun onChat(event: LorenzChatEvent) {
if (!LorenzUtils.inSkyBlock) return
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropUpgrades.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropUpgrades.kt
index e6c810852..5a131ae79 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropUpgrades.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropUpgrades.kt
@@ -1,52 +1,60 @@
package at.hannibal2.skyhanni.data
-import at.hannibal2.skyhanni.events.CropUpgradeUpdateEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.features.garden.CropType
-import at.hannibal2.skyhanni.features.garden.CropType.Companion.getByNameOrNull
import at.hannibal2.skyhanni.features.garden.GardenAPI
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
import at.hannibal2.skyhanni.utils.ItemUtils.name
+import at.hannibal2.skyhanni.utils.NumberUtil.formatInt
+import at.hannibal2.skyhanni.utils.StringUtils.matchFirst
+import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
+import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
-class GardenCropUpgrades {
+object GardenCropUpgrades {
- // TODO USE SH-REPO
- private val tierPattern = "§7Current Tier: §[0-9a-e](\\d)§7/§a9".toRegex()
- private val chatUpgradePattern = " {2}§r§6§lCROP UPGRADE §e§f([\\w ]+)§7 #(\\d)".toRegex()
+ private val patternGroup = RepoPattern.group("garden.cropupgrades")
+ private val tierPattern by patternGroup.pattern(
+ "tier",
+ "§7Current Tier: §.(?<level>\\d)§7/§a9"
+ )
+ private val chatUpgradePattern by patternGroup.pattern(
+ "chatupgrade",
+ "\\s+§r§6§lCROP UPGRADE §e(?<crop>[\\w ]+)§7 #(?<tier>\\d)"
+ )
+
+ private val cropUpgrades: MutableMap<CropType, Int>? get() = GardenAPI.storage?.cropUpgrades
@SubscribeEvent
fun onChat(event: LorenzChatEvent) {
- chatUpgradePattern.matchEntire(event.message)?.groups?.let { matches ->
- val crop = getByNameOrNull(matches[1]!!.value) ?: return
- val level = matches[2]!!.value.toInt()
- crop.setUpgradeLevel(level)
+ if (!GardenAPI.inGarden()) return
+
+ chatUpgradePattern.matchMatcher(event.message) {
+ val crop = CropType.getByNameOrNull(group("crop"))
+ val level = group("tier").formatInt()
+ crop?.setUpgradeLevel(level)
}
- CropUpgradeUpdateEvent().postAndCatch()
}
@SubscribeEvent
fun onInventoryOpen(event: InventoryFullyOpenedEvent) {
+ if (!GardenAPI.inGarden()) return
if (event.inventoryName != "Crop Upgrades") return
- event.inventoryItems.forEach { (_, item) ->
- val crop = CropType.getByNameOrNull(item.name.removeColor()) ?: return@forEach
- val level = item.getLore()
- .firstNotNullOfOrNull { tierPattern.matchEntire(it)?.groups?.get(1)?.value?.toIntOrNull() } ?: 0
- crop.setUpgradeLevel(level)
+
+ for (item in event.inventoryItems.values) {
+ val crop = CropType.getByNameOrNull(item.name.removeColor()) ?: continue
+ item.getLore().matchFirst(tierPattern) {
+ val level = group("level").formatInt()
+ crop.setUpgradeLevel(level)
+ }
}
- CropUpgradeUpdateEvent().postAndCatch()
}
- companion object {
+ fun CropType.getUpgradeLevel() = cropUpgrades?.get(this)
- private val cropUpgrades: MutableMap<CropType, Int>? get() = GardenAPI.storage?.cropUpgrades
-
- fun CropType.getUpgradeLevel() = cropUpgrades?.get(this)
-
- fun CropType.setUpgradeLevel(level: Int) {
- cropUpgrades?.put(this, level)
- }
+ private fun CropType.setUpgradeLevel(level: Int) {
+ cropUpgrades?.put(this, level)
}
}