Aizistral-Studios / No-Chat-Reports

Disable Player Chat Reporting and make user messages untrackable.
https://modrinth.com/mod/no-chat-reports
Do What The F*ck You Want To Public License
950 stars 78 forks source link

ReplayMod fails to record #495

Closed Johni0702 closed 2 weeks ago

Johni0702 commented 2 weeks ago

Modloader

Fabric

Minecraft Version

1.21.1

Modloader Version

0.16.9

No Chat Reports Version

1.21.1-v2.9.0

Modpack Info

No response

The latest.log File

https://api.mclo.gs/1/raw/SqJmV8X

Bug Description

When ReplayMod starts recording, it prints a message to the chat, and that happens very early in the connection lifecycle (login phase) where mc.world is still null. As of https://github.com/Aizistral-Studios/No-Chat-Reports/commit/0400e5f1fc9a9999106f67c69a1a1f797a9ba8a9, the MixinChatComponent of NoChatReports will therefore throw a NPE:

[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]: java.lang.NullPointerException: Cannot invoke "net.minecraft.class_638.method_30349()" because "this.field_2062.field_1687" is null
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_338.localvar$dlc000$nochatreports$modifyGUIMessage(class_338.java:2629)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_338.method_44811(class_338.java:213)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_338.method_1812(class_338.java:208)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//com.replaymod.core.ReplayMod.printToChat(ReplayMod.java:288)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//com.replaymod.core.ReplayMod.printInfoToChat(ReplayMod.java:253)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//com.replaymod.recording.handler.ConnectionEventHandler.onConnectedToServerEvent(ConnectionEventHandler.java:186)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//com.replaymod.recording.ReplayModRecording.initiateRecording(ReplayModRecording.java:110)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_635.initiateRecording(class_635.java:2539)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_635.handler$fhi000$earlyInitiateRecording(class_635.java:2526)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_635.method_12586(class_635.java)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_2899.method_12591(class_2899.java:53)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_2899.method_11054(class_2899.java:11)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_2535.method_10759(class_2535.java:208)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_2535.method_10770(class_2535.java:193)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//net.minecraft.class_2535.channelRead0(class_2535.java:69)
[20:02:03] [Netty Local Client IO #0/INFO]: [STDERR]:   at knot//io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)

Steps to Reproduce

No response

Other Information

I have only received a report of this, I haven't tested it myself. But makes sense from looking at the code.

Madis0 commented 2 weeks ago

Related to #492 according to stacktrace I can also confirm on 1.21.3 with NCR 2.10.0