When attempting an evolution with a HeldItemCondition, while not holding anything, results in a NullPointerException due to getRegistryName#toString. The registry name is null because the held item is air when not holding anything. This can be fixed by adding in null checks into HeldItemCondition#passes.
Time: 6/14/22, 12:38 AM
Description: Ticking entity
java.lang.NullPointerException: Ticking entity
at com.pixelmonmod.pixelmon.api.pokemon.stats.evolution.conditions.HeldItemCondition.passes(HeldItemCondition.java:25) ~[pixelmon:1.16.5-9.0.2] {re:classloading}
at com.pixelmonmod.pixelmon.api.pokemon.stats.evolution.Evolution.canEvolve(Evolution.java:58) ~[pixelmon:1.16.5-9.0.2] {re:classloading}
at com.pixelmonmod.pixelmon.api.pokemon.stats.evolution.types.LevelingEvolution.canEvolve(LevelingEvolution.java:34) ~[pixelmon:1.16.5-9.0.2] {re:classloading}
at com.pixelmonmod.pixelmon.entities.pixelmon.PixelmonEntity.testLevelEvolution(PixelmonEntity.java:718) ~[pixelmon:1.16.5-9.0.2] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
at com.pixelmonmod.pixelmon.api.pokemon.Pokemon.tryEvolution(Pokemon.java:1303) ~[pixelmon:1.16.5-9.0.2] {re:classloading,pl:runtimedistcleaner:A}
at com.pixelmonmod.pixelmon.api.pokemon.stats.PokemonLevel.awardEXP(PokemonLevel.java:244) ~[pixelmon:1.16.5-9.0.2] {re:classloading}
at com.pixelmonmod.pixelmon.battles.controller.Experience.calcExp(Experience.java:176) ~[pixelmon:1.16.5-9.0.2] {re:classloading}
at com.pixelmonmod.pixelmon.battles.controller.Experience.awardExp(Experience.java:84) ~[pixelmon:1.16.5-9.0.2] {re:classloading}
at com.pixelmonmod.pixelmon.entities.pokeballs.EmptyPokeBallEntity.catchPokemon(EmptyPokeBallEntity.java:546) ~[pixelmon:1.16.5-9.0.2] {re:classloading,pl:runtimedistcleaner:A}
at com.pixelmonmod.pixelmon.entities.pokeballs.EmptyPokeBallEntity.func_70071_h_(EmptyPokeBallEntity.java:405) ~[pixelmon:1.16.5-9.0.2] {re:classloading,pl:runtimedistcleaner:A}