-
Bug
-
Resolution: Incomplete
-
None
-
1.19, 1.19.1 Pre-release 4
-
None
-
Plausible
-
(Unassigned)
Code shown uses Forges Mojang Mappings which should be now all Mojang Mappings.
Stat.class private static <T> String locationToKey(@Nullable ResourceLocation p_12866_) { return p_12866_.toString().replace(':', '.'); }
There is a bug in this code.
I actually managed to run into the case where the input was null with a custom registered stat.
Would be nice if this is fixed in 1.19.1 since datapacks can easily run into this bug too.
Crashlog:
java.lang.NullPointerException: Cannot invoke "net.minecraft.resources.ResourceLocation.toString()" because "p_12866_" is null at net.minecraft.stats.Stat.m_12865_(Stat.java:29) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,re:classloading} at net.minecraft.stats.Stat.m_12862_(Stat.java:23) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,re:classloading} at net.minecraft.stats.Stat.<init>(Stat.java:16) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,re:classloading} at net.minecraft.stats.StatType.m_12894_(StatType.java:27) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:classloading,re:mixin} at java.util.Map.computeIfAbsent(Map.java:1054) ~[?:?] {re:mixin} at net.minecraft.stats.StatType.m_12899_(StatType.java:27) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:classloading,re:mixin} at net.minecraft.stats.StatType.m_12902_(StatType.java:40) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:classloading,re:mixin} at ic2.core.platform.advancements.StatTrigger$Instance.test(StatTrigger.java:98) ~[IC2Classic-1.19-Beta-1.0.8.jar%23130!/:1.19-Beta-1.0.8] {re:classloading} at ic2.core.platform.advancements.StatTrigger$Listeners.trigger(StatTrigger.java:150) ~[IC2Classic-1.19-Beta-1.0.8.jar%23130!/:1.19-Beta-1.0.8] {re:classloading} at ic2.core.platform.advancements.StatTrigger.onTrigger(StatTrigger.java:74) ~[IC2Classic-1.19-Beta-1.0.8.jar%23130!/:1.19-Beta-1.0.8] {re:mixin,re:classloading} at net.minecraft.server.level.ServerPlayer.handler$zcl000$statCallback(ServerPlayer.java:1703) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:ic2.mixins.json:server.StatMixin,pl:mixin:A} at net.minecraft.server.level.ServerPlayer.m_6278_(ServerPlayer.java:1049) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:ic2.mixins.json:server.StatMixin,pl:mixin:A} at net.minecraft.world.entity.player.Player.m_36246_(Player.java:1380) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:ic2:betterarmorcalculations,re:computing_frames,pl:accesstransformer:B,xf:fml:ic2:betterarmorcalculations,re:classloading,pl:accesstransformer:B,xf:fml:ic2:betterarmorcalculations,pl:mixin:APP:ic2.mixins.json:server.PlayerMixin,pl:mixin:A} at net.minecraft.world.entity.player.Player.m_36220_(Player.java:1372) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:ic2:betterarmorcalculations,re:computing_frames,pl:accesstransformer:B,xf:fml:ic2:betterarmorcalculations,re:classloading,pl:accesstransformer:B,xf:fml:ic2:betterarmorcalculations,pl:mixin:APP:ic2.mixins.json:server.PlayerMixin,pl:mixin:A} at ic2.core.entity.misc.MiningLaserEntity.m_8119_(MiningLaserEntity.java:189) ~[IC2Classic-1.19-Beta-1.0.8.jar%23130!/:1.19-Beta-1.0.8] {re:classloading} at ic2.core.entity.misc.TrackingMiningLaserEntity.m_8119_(TrackingMiningLaserEntity.java:60) ~[IC2Classic-1.19-Beta-1.0.8.jar%23130!/:1.19-Beta-1.0.8] {re:classloading} at net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:657) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries.mixins.json:ServerLevelMixin,pl:mixin:A} at net.minecraft.world.level.Level.m_46653_(Level.java:457) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} at net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:322) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries.mixins.json:ServerLevelMixin,pl:mixin:A} at net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:classloading} at net.minecraft.server.level.ServerLevel.m_8793_(ServerLevel.java:302) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries.mixins.json:ServerLevelMixin,pl:mixin:A} at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:866) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A} at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:806) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A} at net.minecraft.client.server.IntegratedServer.m_5705_(IntegratedServer.java:84) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:654) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A} at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:245) ~[client-1.19-20220607.102129-srg.jar%23139!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A} at java.lang.Thread.run(Thread.java:833) ~[?:?] {}