
[Bug]: Incorrect slot config syntax corrupts all save games and crashes new world creation
CTNOriginals opened this issue ยท 2 comments
Version Info
- Minecraft, 1.20.1
- Mod version, 5.14.1+1.20.1
Description of the Bug
I downloaded this mod as a dependency for Elytra Slot, loaded a survival world of mine with it, worked fine and as expected, was looking for a way to add more slots for things, found the curious API config and added a slot in the "Common" category. The slot that i added just had "Test" as its content.
I was unaware of the syntax as it was not described to me anywhere.
When i saved this, nothing really happened and i forgot about it. When i restarted my game and tried to load the same save game, i was greeted with screenshot 1 (see below), and when i tried to load the world in safe mode, i was met with screenshot 2.
When trying to create a new world, the game crashed (see crash log below).
Steps to Reproduce
- Add a new slot in the config with faulty syntax.
-
- Error: Load any save game
-
- Crash: Click the "Create new world" button
Note
I am aware that it is my fault i didnt real all readmes before trying stuff, but that doesnt take way from the fact that this error should never take place and instead should just warn the user that the slot they tried to add is incorrect.
Screenshots
Crash log
crash-2025-05-20_15.21.58-client.txt
Relevant Log Outputs
Error when trying to load the world with incorrect slot syntax:
[15:29:17] [Render thread/WARN] [ModernFix/]: Initial datapack load took 312.0 ms
[15:29:17] [Render thread/WARN] [minecraft/WorldOpenFlows]: Failed to load level data or datapacks, can't proceed with server load
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?] {re:mixin}
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?] {re:mixin}
at net.minecraft.client.gui.screens.worldselection.WorldOpenFlows.m_246486_(WorldOpenFlows.java:164) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.WorldOpenFlowsMixin,pl:mixin:APP:kubejs-common.mixins.json:WorldOpenFlowsMixin,pl:mixin:APP:yeetusexperimentus.mixins.json:WorldOpenFlowsMixin,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.screens.worldselection.WorldOpenFlows.m_233122_(WorldOpenFlows.java:113) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.WorldOpenFlowsMixin,pl:mixin:APP:kubejs-common.mixins.json:WorldOpenFlowsMixin,pl:mixin:APP:yeetusexperimentus.mixins.json:WorldOpenFlowsMixin,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.screens.worldselection.WorldOpenFlows.doLoadLevel(WorldOpenFlows.java:181) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.WorldOpenFlowsMixin,pl:mixin:APP:kubejs-common.mixins.json:WorldOpenFlowsMixin,pl:mixin:APP:yeetusexperimentus.mixins.json:WorldOpenFlowsMixin,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.screens.worldselection.WorldOpenFlows.m_233145_(WorldOpenFlows.java:169) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.WorldOpenFlowsMixin,pl:mixin:APP:kubejs-common.mixins.json:WorldOpenFlowsMixin,pl:mixin:APP:yeetusexperimentus.mixins.json:WorldOpenFlowsMixin,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.screens.worldselection.WorldOpenFlows.m_233178_(WorldOpenFlows.java:189) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.WorldOpenFlowsMixin,pl:mixin:APP:kubejs-common.mixins.json:WorldOpenFlowsMixin,pl:mixin:APP:yeetusexperimentus.mixins.json:WorldOpenFlowsMixin,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.screens.DatapackLoadFailureScreen.m_95904_(DatapackLoadFailureScreen.java:24) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:classloading}
at net.minecraft.client.gui.components.Button.m_5691_(Button.java:38) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.components.AbstractButton.m_5716_(AbstractButton.java:55) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.components.AbstractWidget.m_6375_(AbstractWidget.java:175) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.components.events.ContainerEventHandler.m_6375_(ContainerEventHandler.java:38) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,re:computing_frames,re:classloading}
at net.minecraft.client.MouseHandler.m_168084_(MouseHandler.java:92) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:konkrete.mixin.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:emi.mixins.json:MouseMixin,pl:mixin:APP:mafglib.mixins.json:MixinMouse,pl:mixin:APP:justzoom.mixins.json:client.MixinMouseHandler,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.screens.Screen.m_96579_(Screen.java:437) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:configured.common.mixins.json:client.ScreenMixin,pl:mixin:APP:balm.mixins.json:ScreenAccessor,pl:mixin:APP:konkrete.mixin.json:IMixinScreen,pl:mixin:APP:emi.mixins.json:ScreenMixin,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:kubejs-common.mixins.json:ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.MouseHandler.m_91530_(MouseHandler.java:89) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:konkrete.mixin.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:emi.mixins.json:MouseMixin,pl:mixin:APP:mafglib.mixins.json:MixinMouse,pl:mixin:APP:justzoom.mixins.json:client.MixinMouseHandler,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.MouseHandler.m_168091_(MouseHandler.java:189) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:konkrete.mixin.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:emi.mixins.json:MouseMixin,pl:mixin:APP:mafglib.mixins.json:MixinMouse,pl:mixin:APP:justzoom.mixins.json:client.MixinMouseHandler,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin,pl:mixin:A}
at net.minecraft.client.MouseHandler.m_91565_(MouseHandler.java:188) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:konkrete.mixin.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:emi.mixins.json:MouseMixin,pl:mixin:APP:mafglib.mixins.json:MixinMouse,pl:mixin:APP:justzoom.mixins.json:client.MixinMouseHandler,pl:mixin:A,pl:runtimedistcleaner:A}
at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar%2364!/:build 7] {}
at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.1.jar%2370!/:build 7] {}
at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474) ~[lwjgl-glfw-3.3.1.jar%2364!/:build 7] {re:mixin}
at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:237) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:classloading}
at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1173) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:forgematica.mixins.json:MixinMinecraftClient,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:konkrete.mixin.json:MixinMinecraft,pl:mixin:APP:emi.mixins.json:MinecraftClientMixin,pl:mixin:APP:mafglib.mixins.json:MixinMinecraftClient,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:kubejs-common.mixins.json:MinecraftClientMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:forgematica.mixins.json:MixinMinecraftClient,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:konkrete.mixin.json:MixinMinecraft,pl:mixin:APP:emi.mixins.json:MinecraftClientMixin,pl:mixin:APP:mafglib.mixins.json:MixinMinecraftClient,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:kubejs-common.mixins.json:MinecraftClientMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.main(Main.java:218) ~[minecraft-1.20.1-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}
at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}
at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.4.0.jar:?] {}
at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.4.0.jar:?] {}
at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.4.0.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}
at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}
at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}
at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}
at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}
at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}
at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}
at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:67) ~[?:?] {}
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}
at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:243) ~[?:?] {}
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:278) ~[?:?] {}
at org.multimc.EntryPoint.listen(EntryPoint.java:143) ~[?:?] {}
at org.multimc.EntryPoint.main(EntryPoint.java:34) ~[?:?] {}
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at top.theillusivec4.curios.common.data.CuriosSlotManager.fromConfig(CuriosSlotManager.java:231) ~[curios-forge-5.14.1+1.20.1.jar%23186!/:5.14.1+1.20.1] {re:classloading}
at top.theillusivec4.curios.common.data.CuriosSlotManager.apply(CuriosSlotManager.java:151) ~[curios-forge-5.14.1+1.20.1.jar%23186!/:5.14.1+1.20.1] {re:classloading}
at top.theillusivec4.curios.common.data.CuriosSlotManager.m_5787_(CuriosSlotManager.java:41) ~[curios-forge-5.14.1+1.20.1.jar%23186!/:5.14.1+1.20.1] {re:classloading}
at net.minecraft.server.packs.resources.SimplePreparableReloadListener.m_10789_(SimplePreparableReloadListener.java:13) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:classloading,re:mixin}
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] {}
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}
at net.minecraft.server.packs.resources.SimpleReloadInstance.m_143940_(SimpleReloadInstance.java:69) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.SimpleReloadInstanceMixin,pl:mixin:A}
at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin,pl:mixin:A}
at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,re:computing_frames,re:classloading}
at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin,pl:mixin:A}
at net.minecraft.util.thread.BlockableEventLoop.m_18701_(BlockableEventLoop.java:139) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin,pl:mixin:A}
at net.minecraft.client.Minecraft.m_18701_(Minecraft.java:4941) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:forgematica.mixins.json:MixinMinecraftClient,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:konkrete.mixin.json:MixinMinecraft,pl:mixin:APP:emi.mixins.json:MinecraftClientMixin,pl:mixin:APP:mafglib.mixins.json:MixinMinecraftClient,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:kubejs-common.mixins.json:MinecraftClientMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.screens.worldselection.WorldOpenFlows.m_246486_(WorldOpenFlows.java:163) ~[client-1.20.1-20230612.114412-srg.jar%23228!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.WorldOpenFlowsMixin,pl:mixin:APP:kubejs-common.mixins.json:WorldOpenFlowsMixin,pl:mixin:APP:yeetusexperimentus.mixins.json:WorldOpenFlowsMixin,pl:mixin:A,pl:runtimedistcleaner:A}
... 44 more
Just to clarify, when you say "corrupts all save games", do you mean actual corruption where the save is irreversibly damaged or that the save game is just unable to load?
Hey @TheIllusiveC4, sorry for the late response.
I did double check this and the saves do not get permanently corrupted as far as I can tell.
Once you undo the thing that causes the error to occur, the saves return to their playable state.