diff options
author | CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> | 2024-05-14 18:07:30 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-14 10:07:30 +0200 |
commit | e101b11cb4117d51c14c051689d380a815a5185b (patch) | |
tree | f8fa704c78439ce471b65b866603025ebfcbcafc /src/main/java/at/hannibal2/skyhanni/data | |
parent | e7284ce13a701305b49945c153229d4bc5fd2311 (diff) | |
download | skyhanni-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.kt | 25 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/GardenCropUpgrades.kt | 58 |
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) } } |