When encryption is enabled, writing the schematic materials list to a file causes the game to crash
notavaliablename opened this issue ยท 0 comments
Modloader
Fabric
Minecraft Version
1.21
Modloader Version
Fabric Loader 0.16.0 + API 0.100.7+1.21
No Chat Reports Version
1.21-v2.8.0
Modpack Info
No response
The latest.log File
No response
Bug Description
I have both the No Chat Reports and Litematica mods installed (version 1.21 is currently maintained by Sakura-Ryoko). The Litematica mod can write the schematic materials list to a file, but when I enable chat encryption from No Chat Reports and then try to write the file, it causes the game to crash.
I have ruled out other possibilities, and the issue also occurs when only No Chat Reports and Litematica are installed. I attempted to submit an issue to the current maintainer of Litematica, and she stated that she cannot fix this problem and said it's a bug with 'No Chat Reports.' She advised me to report this issue to you.
Steps to Reproduce
1.Install the No Chat Reports, Litematica, and Fabric API
2.Write a schematic materials list to a file
3.Game crashed
Other Information
Here is the original response from the current maintainer of Litematica
Why is No Chat Reports
concerned with Writing / Reading files ?
I also don't understand why its doing this:
at fi.dy.masa.malilib.util.StringUtils.sendOpenFileChatMessage(StringUtils.java:82)
at fi.dy.masa.litematica.gui.GuiMaterialList$ButtonListener.actionPerformedWithButton(GuiMaterialList.java:301)
at fi.dy.masa.malilib.gui.button.ButtonBase.onMouseClickedImpl(ButtonBase.java:85)
at fi.dy.masa.malilib.gui.widgets.WidgetBase.onMouseClicked(WidgetBase.java:92)
at fi.dy.masa.malilib.gui.GuiBase.onMouseClicked(GuiBase.java:280)
at fi.dy.masa.malilib.gui.GuiListBase.onMouseClicked(GuiListBase.java:92)
at fi.dy.masa.malilib.gui.GuiBase.method_25402(GuiBase.java:222)
I did more code digging, and this is a "NoChatReports" bug.
Report it to them, as their JSON Serializer is passing an Empty Dynamic Registry during their "Encrypt / Decrypt" attempts.
public static Component recreate(Component component) {
return Component.Serializer.fromJson(Component.Serializer.toJson(component, RegistryAccess.EMPTY), RegistryAccess.EMPTY);
}
EMPTY Dynamic Registry (RegistryAccess) objects causes crashes.