From fad8784b706a6c30f469acdf72d4f5a7d7e367b9 Mon Sep 17 00:00:00 2001 From: Accieo <42718776+Accieo@users.noreply.github.com> Date: Thu, 11 Dec 2025 17:46:24 +0800 Subject: [PATCH] Fix issue with special species like chansey and combee line not working due to incorrect i18n handling --- .../main/kotlin/accieo/cobbleworkers/jobs/Healer.kt | 12 +++++++++++- .../accieo/cobbleworkers/jobs/HoneyCollector.kt | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/common/src/main/kotlin/accieo/cobbleworkers/jobs/Healer.kt b/common/src/main/kotlin/accieo/cobbleworkers/jobs/Healer.kt index 4fc301e..7434239 100644 --- a/common/src/main/kotlin/accieo/cobbleworkers/jobs/Healer.kt +++ b/common/src/main/kotlin/accieo/cobbleworkers/jobs/Healer.kt @@ -12,6 +12,7 @@ import accieo.cobbleworkers.config.CobbleworkersConfigHolder import accieo.cobbleworkers.enums.JobType import accieo.cobbleworkers.interfaces.Worker import accieo.cobbleworkers.utilities.CobbleworkersNavigationUtils +import com.cobblemon.mod.common.api.pokemon.PokemonSpecies import com.cobblemon.mod.common.entity.pokemon.PokemonEntity import net.minecraft.entity.effect.StatusEffectInstance import net.minecraft.entity.effect.StatusEffects @@ -22,6 +23,15 @@ import net.minecraft.world.World object Healer : Worker { private val VALID_SPECIES: Set = setOf("happiny", "chansey", "blissey") + private val VALID_TRANSLATED_SPECIES by lazy { + VALID_SPECIES.map { name -> + PokemonSpecies.getByName(name) + ?.translatedName + ?.string + ?.lowercase() + ?: name.lowercase() + }.toSet() + } private val config = CobbleworkersConfigHolder.config.healing private val generalConfig = CobbleworkersConfigHolder.config.general private val searchRadius get() = generalConfig.searchRadius @@ -109,7 +119,7 @@ object Healer : Worker { private fun isAllowedBySpecies(pokemonEntity: PokemonEntity): Boolean { if (!config.chanseyLineHealsPlayers) return false val speciesName = pokemonEntity.pokemon.species.translatedName.string.lowercase() - return speciesName in VALID_SPECIES + return speciesName in VALID_TRANSLATED_SPECIES } /** diff --git a/common/src/main/kotlin/accieo/cobbleworkers/jobs/HoneyCollector.kt b/common/src/main/kotlin/accieo/cobbleworkers/jobs/HoneyCollector.kt index ecabf2c..1cab4cb 100644 --- a/common/src/main/kotlin/accieo/cobbleworkers/jobs/HoneyCollector.kt +++ b/common/src/main/kotlin/accieo/cobbleworkers/jobs/HoneyCollector.kt @@ -15,6 +15,7 @@ import accieo.cobbleworkers.interfaces.Worker import accieo.cobbleworkers.utilities.CobbleworkersInventoryUtils import accieo.cobbleworkers.utilities.CobbleworkersNavigationUtils import accieo.cobbleworkers.utilities.CobbleworkersTypeUtils +import com.cobblemon.mod.common.api.pokemon.PokemonSpecies import com.cobblemon.mod.common.entity.pokemon.PokemonEntity import net.minecraft.block.BeehiveBlock import net.minecraft.block.Block @@ -30,6 +31,15 @@ import java.util.UUID */ object HoneyCollector : Worker { private val VALID_SPECIES: Set = setOf("combee", "vespiquen") + private val VALID_TRANSLATED_SPECIES by lazy { + VALID_SPECIES.map { name -> + PokemonSpecies.getByName(name) + ?.translatedName + ?.string + ?.lowercase() + ?: name.lowercase() + }.toSet() + } private val heldItemsByPokemon = mutableMapOf>() private val failedDepositLocations = mutableMapOf>() private val config = CobbleworkersConfigHolder.config.honey @@ -171,7 +181,7 @@ object HoneyCollector : Worker { private fun isAllowedBySpecies(pokemonEntity: PokemonEntity): Boolean { if (!config.combeeLineCollectsHoney) return false val speciesName = pokemonEntity.pokemon.species.translatedName.string.lowercase() - return speciesName in VALID_SPECIES + return speciesName in VALID_TRANSLATED_SPECIES } /**