Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-254139

Stat.locationToKey bug

XMLWordPrintable

    • Icon: Bug 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) ~[?:?] {}
       

            Unassigned Unassigned
            NoUser No User
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: