Superflat worlds refuse to load
helpimnotdrowning opened this issue · 6 comments
For convinience, I leave the mod enabled even when not playing on worlds that use Modern Beta. This has left me with a problem, because I can't play worlds generated with 1.16 versions of this mod in 1.17, even worlds that don't have any Modern Beta stuff in it.
To recreate:
- Make a world in 1.16 with Modern Beta, but don't use any of the generator stuff, just make a superflat (I used Overworld preset)
- Fly around a bit, generate chunks
- Update to 1.17 with Modern Beta, join world
- World should load fine here
- Leave and rejoin world
- Game now complains about corrupted datapacks, log shows errors reading
level.dat
andlevel.dat_old
[00:13:43] [Render thread/ERROR]: Exception reading C:\Users\owo\AppData\Roaming\.multimc\instances\1.16 test\.minecraft\saves\world\level.dat
java.lang.NullPointerException: Cannot read field "field_24835" because "☃" is null
at Not Enough Crashes deobfuscated stack trace.(1.16.3+build.47) ~[?:?]
at net.minecraft.world.biome.GenerationSettings.method_30979(GenerationSettings:83) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) ~[?:?]
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[?:?]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:652) ~[?:?]
at net.minecraft.world.biome.GenerationSettings.method_30978(GenerationSettings:83) ~[?:?]
at net.minecraft.world.gen.chunk.FlatChunkGeneratorConfig.createBiome(FlatChunkGeneratorConfig:154) ~[?:?]
at net.minecraft.world.gen.chunk.FlatChunkGenerator.<init>(FlatChunkGenerator:27) ~[?:?]
at com.mojang.datafixers.util.Either$Left.mapBoth(Either.java:33) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.map(DataResult.java:110) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder$4.decode(MapDecoder.java:94) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.KeyDispatchCodec.lambda$null$1(KeyDispatchCodec.java:67) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.KeyDispatchCodec.lambda$decode$2(KeyDispatchCodec.java:58) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.KeyDispatchCodec.decode(KeyDispatchCodec.java:56) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$3.decode(RecordCodecBuilder.java:249) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.BaseMapCodec.lambda$decode$2(BaseMapCodec.java:31) ~[datafixerupper-4.0.26.jar:?]
at java.util.stream.ReduceOps$1ReducingSink.accept(ReduceOps.java:80) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1694) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:667) ~[?:?]
at com.mojang.serialization.codecs.BaseMapCodec.decode(BaseMapCodec.java:27) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.UnboundedMapCodec.lambda$decode$0(UnboundedMapCodec.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.UnboundedMapCodec.decode(UnboundedMapCodec.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder$2.decode(Decoder.java:63) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[datafixerupper-4.0.26.jar:?]
at net.minecraft.util.dynamic.RegistryCodec.decode(RegistryCodec:33) ~[?:?]
at com.mojang.serialization.Decoder$2.decode(Decoder.java:63) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:324) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder$1.decode(Decoder.java:49) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.decode(Decoder.java:22) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:26) ~[datafixerupper-4.0.26.jar:?]
at net.minecraft.world.level.storage.LevelStorage.readGeneratorProperties(LevelStorage:119) ~[?:?]
at net.minecraft.world.level.storage.LevelStorage.method_29582(LevelStorage:215) ~[?:?]
at net.minecraft.world.level.storage.LevelStorage.readLevelProperties(LevelStorage:178) ~[?:?]
at net.minecraft.world.level.storage.LevelStorage$Session.readLevelProperties(LevelStorage:332) ~[?:?]
at net.minecraft.client.MinecraftClient.createSaveProperties(MinecraftClient:1927) ~[?:?]
at net.minecraft.client.MinecraftClient.method_29604(MinecraftClient:2156) ~[?:?]
at net.minecraft.client.MinecraftClient.startIntegratedServer(MinecraftClient:2001) ~[?:?]
at net.minecraft.client.MinecraftClient.startIntegratedServer(MinecraftClient:1941) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.start(WorldListWidget:437) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.play(WorldListWidget:343) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.mouseClicked(WorldListWidget:279) ~[?:?]
at net.minecraft.client.gui.widget.EntryListWidget.mouseClicked(EntryListWidget:359) ~[?:?]
at net.minecraft.client.gui.ParentElement.mouseClicked(ParentElement:27) ~[?:?]
at net.minecraft.client.Mouse.method_1611(Mouse:94) ~[?:?]
at net.minecraft.client.gui.screen.Screen.wrapScreenError(Screen:490) ~[?:?]
at net.minecraft.client.Mouse.onMouseButton(Mouse:94) ~[?:?]
at net.minecraft.client.Mouse.method_22686(Mouse:165) ~[?:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor:118) ~[?:?]
at net.minecraft.client.Mouse.method_22684(Mouse:165) ~[?:?]
at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar:build 10]
at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar:build 10]
at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3174) ~[lwjgl-glfw-3.2.2.jar:build 10]
at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem:186) ~[intermediary-minecraft-1.17-client.jar:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient:1142) ~[?:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient:730) ~[?:?]
at net.minecraft.client.main.Main.main(Main:217) [intermediary-minecraft-1.17-client.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.11.6.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
[00:13:44] [Render thread/ERROR]: Exception reading C:\Users\owo\AppData\Roaming\.multimc\instances\1.16 test\.minecraft\saves\world\level.dat_old
java.lang.NullPointerException: Cannot read field "field_24835" because "☃" is null
at Not Enough Crashes deobfuscated stack trace.(1.16.3+build.47) ~[?:?]
at net.minecraft.world.biome.GenerationSettings.method_30979(GenerationSettings:83) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) ~[?:?]
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[?:?]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:652) ~[?:?]
at net.minecraft.world.biome.GenerationSettings.method_30978(GenerationSettings:83) ~[?:?]
at net.minecraft.world.gen.chunk.FlatChunkGeneratorConfig.createBiome(FlatChunkGeneratorConfig:154) ~[?:?]
at net.minecraft.world.gen.chunk.FlatChunkGenerator.<init>(FlatChunkGenerator:27) ~[?:?]
at com.mojang.datafixers.util.Either$Left.mapBoth(Either.java:33) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.map(DataResult.java:110) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder$4.decode(MapDecoder.java:94) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.KeyDispatchCodec.lambda$null$1(KeyDispatchCodec.java:67) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.KeyDispatchCodec.lambda$decode$2(KeyDispatchCodec.java:58) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.KeyDispatchCodec.decode(KeyDispatchCodec.java:56) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$3.decode(RecordCodecBuilder.java:249) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.BaseMapCodec.lambda$decode$2(BaseMapCodec.java:31) ~[datafixerupper-4.0.26.jar:?]
at java.util.stream.ReduceOps$1ReducingSink.accept(ReduceOps.java:80) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1694) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:667) ~[?:?]
at com.mojang.serialization.codecs.BaseMapCodec.decode(BaseMapCodec.java:27) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.UnboundedMapCodec.lambda$decode$0(UnboundedMapCodec.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.UnboundedMapCodec.decode(UnboundedMapCodec.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder$2.decode(Decoder.java:63) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[datafixerupper-4.0.26.jar:?]
at net.minecraft.util.dynamic.RegistryCodec.decode(RegistryCodec:33) ~[?:?]
at com.mojang.serialization.Decoder$2.decode(Decoder.java:63) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:18) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:324) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder$1.decode(Decoder.java:49) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Codec$2.decode(Codec.java:71) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.decode(Decoder.java:22) ~[datafixerupper-4.0.26.jar:?]
at com.mojang.serialization.Decoder.parse(Decoder.java:26) ~[datafixerupper-4.0.26.jar:?]
at net.minecraft.world.level.storage.LevelStorage.readGeneratorProperties(LevelStorage:119) ~[?:?]
at net.minecraft.world.level.storage.LevelStorage.method_29582(LevelStorage:215) ~[?:?]
at net.minecraft.world.level.storage.LevelStorage.readLevelProperties(LevelStorage:186) ~[?:?]
at net.minecraft.world.level.storage.LevelStorage$Session.readLevelProperties(LevelStorage:332) ~[?:?]
at net.minecraft.client.MinecraftClient.createSaveProperties(MinecraftClient:1927) ~[?:?]
at net.minecraft.client.MinecraftClient.method_29604(MinecraftClient:2156) ~[?:?]
at net.minecraft.client.MinecraftClient.startIntegratedServer(MinecraftClient:2001) ~[?:?]
at net.minecraft.client.MinecraftClient.startIntegratedServer(MinecraftClient:1941) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.start(WorldListWidget:437) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.play(WorldListWidget:343) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.mouseClicked(WorldListWidget:279) ~[?:?]
at net.minecraft.client.gui.widget.EntryListWidget.mouseClicked(EntryListWidget:359) ~[?:?]
at net.minecraft.client.gui.ParentElement.mouseClicked(ParentElement:27) ~[?:?]
at net.minecraft.client.Mouse.method_1611(Mouse:94) ~[?:?]
at net.minecraft.client.gui.screen.Screen.wrapScreenError(Screen:490) ~[?:?]
at net.minecraft.client.Mouse.onMouseButton(Mouse:94) ~[?:?]
at net.minecraft.client.Mouse.method_22686(Mouse:165) ~[?:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor:118) ~[?:?]
at net.minecraft.client.Mouse.method_22684(Mouse:165) ~[?:?]
at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar:build 10]
at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar:build 10]
at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3174) ~[lwjgl-glfw-3.2.2.jar:build 10]
at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem:186) ~[intermediary-minecraft-1.17-client.jar:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient:1142) ~[?:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient:730) ~[?:?]
at net.minecraft.client.main.Main.main(Main:217) [intermediary-minecraft-1.17-client.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.11.6.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
[00:13:44] [Render thread/WARN]: Failed to load datapacks, can't proceed with server load
java.lang.IllegalStateException: Failed to load world
at Not Enough Crashes deobfuscated stack trace.(1.16.3+build.47) ~[?:?]
at net.minecraft.client.MinecraftClient.createSaveProperties(MinecraftClient:1929) ~[?:?]
at net.minecraft.client.MinecraftClient.method_29604(MinecraftClient:2156) ~[?:?]
at net.minecraft.client.MinecraftClient.startIntegratedServer(MinecraftClient:2001) ~[?:?]
at net.minecraft.client.MinecraftClient.startIntegratedServer(MinecraftClient:1941) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.start(WorldListWidget:437) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.play(WorldListWidget:343) ~[?:?]
at net.minecraft.client.gui.screen.world.WorldListWidget$Entry.mouseClicked(WorldListWidget:279) ~[?:?]
at net.minecraft.client.gui.widget.EntryListWidget.mouseClicked(EntryListWidget:359) ~[?:?]
at net.minecraft.client.gui.ParentElement.mouseClicked(ParentElement:27) ~[?:?]
at net.minecraft.client.Mouse.method_1611(Mouse:94) ~[?:?]
at net.minecraft.client.gui.screen.Screen.wrapScreenError(Screen:490) ~[?:?]
at net.minecraft.client.Mouse.onMouseButton(Mouse:94) ~[?:?]
at net.minecraft.client.Mouse.method_22686(Mouse:165) ~[?:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor:118) ~[?:?]
at net.minecraft.client.Mouse.method_22684(Mouse:165) ~[?:?]
at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar:build 10]
at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar:build 10]
at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3174) ~[lwjgl-glfw-3.2.2.jar:build 10]
at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem:186) ~[intermediary-minecraft-1.17-client.jar:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient:1142) ~[?:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient:730) ~[?:?]
at net.minecraft.client.main.Main.main(Main:217) [intermediary-minecraft-1.17-client.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.11.6.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
Note:
The world loads perfectly fine in vanilla every time, although it warns in the log
WorldGenSettings: Unknown registry key: modern_beta:ocean_shrine missed input: {"modern_beta:ocean_shrine":{salt:357,separation:16,spacing:64}} missed input: {"minecraft:overworld":{generator:{settings:{biome:"minecraft:plains",features:1b,lakes:1b,layers:[{block:"minecraft:bedrock",height:1},{block:"minecraft:stone",height:59},{block:"minecraft:dirt",height:3},{block:"minecraft:grass_block",height:1}],structures:{stronghold:{count:128,distance:32,spread:3},structures:{"minecraft:mineshaft":{salt:0,separation:0,spacing:1},"minecraft:pillager_outpost":{salt:165745296,separation:8,spacing:32},"minecraft:ruined_portal":{salt:34222645,separation:15,spacing:40},"minecraft:village":{salt:10387312,separation:8,spacing:32},"modern_beta:ocean_shrine":{salt:357,separation:16,spacing:64}}}},type:"minecraft:flat"},type:"minecraft:overworld"}}
Is there a way to manually fix up the level.dat , or should I go with the good-old "make a new world with the exact same settings and copy the level.dat over" strat?
Is this v1.x or v2.0 of the mod for 1.16?
EDIT: Could you also provide your modlist for your 1.16 and 1.17 instances as well? Thank you.
EDIT 2: Just want to note that this is a really unusual bug, so thanks for bringing it to my attention. In my tests with updating Modern Beta worlds from v2.x 1.16 to 1.17, I have seen errors relating to structures (tracked here, so it's a vanilla issue I guess) or unsupported keys, but they don't seem to affect anything and only appear on the first load. I haven't encountered this before.
I used to use 1.x for 1.16, but updated to 2.x around the 25th, then to 2.x for 1.17 yesterday.
For 1.16:
Mod | Version |
---|---|
AntiGhost | 1.1.3 |
Architechtury | 1.8.120 |
Auth Me | 1.4.0 |
Baritone | 1.6.3 |
Better Eating | 0.3.0 |
Capes | 1.1.1 |
Carpet | 1.4.12 |
Clear Hitboxes | 1.0.0 |
Cloth Config | 4.11.26 |
Colormatic | 2.2.9 |
Cr3stal | 1.0.0 |
Custom Stars | 0.4.1 |
Damage Tilt | 0.1.0 |
Disable Custom Worlds Advice | 1.2 |
Dont Clear Chat History | 1.0.0 |
Dynamic FPS | 2.0.1 |
Entity Culling | 1.2.2 |
Extra Sounds | 1.4.0 |
Fabric API | 0.34.2 |
Fabric Language Kotlin | 1.6.0+kotlin.1.5.0 |
VoxelMap | 1.10.15 |
Fabrishot | 1.1.0-SNAPSHOT |
Falling Leaves | 1.5.0 |
FerriteCore | 2.0.5 |
FlexFOV | 1.1.3 |
FullscreeNO | 1.0.0 |
Gamemode Unrestictor | 1.0.0 |
Hole Filler | 1.2.4 |
HUDTweaks | 1.1.1-beta |
Hydrogen | 0.2 |
I Am Very Smart | 2.1.0 |
Inventory Profiles | 0.4.2 |
Item Model Fix | 1.0.0 |
LazyDFU | 0.1.1 |
Legacy Display | 1.1.2 |
Light Overlay | 5.7.0 |
Litematica | dev.20210612.170003 |
Malilib | 0.10.0-dev.21+arne.5 |
map_printer | 1.0.1 |
Modern Beta | 2.0.0 |
Mod Menu | 1.16.8 |
Custom Fog | 1.4.0 |
Indium | 1.0.0 a997c55 |
Lithium | 0.6.4 |
Soaring Clouds | 1.2.0 |
NotEnoughCrashes | 2.1.4 |
OkZoomer | 4.0.1 |
Old Gamemode Command | 1.1 |
Phosphor | 0.7.1 |
PickBlockState | 1.0.0 |
Plasmovoice | 1.0.6 |
Pling | 1.3.0 |
Roughly Enough Resources | 2.1.4 |
Resource Extractor | 0.1.1 |
Roughly Enough Items | 5.11.218 |
Roughly Searchable | 2.1.3 |
Slyde | 1.2 |
Sodium | 0.2.0+rev.35552d3 |
Stairdoors | 2.3.0 ( https://github.com/helpimnotdrowning/stairdoors-fabric ) |
Sword Blocking | 1.0.0 |
ViaBackwards | 4.0.0 |
ViaFabric | 0.4.1+181 |
Vistas | 1.2.1 |
Void Fog | 2.4 |
Worldedit | 7.2.5 |
and 1.17:
Mod | Version |
---|---|
Anti Ghost | 1.1.4 |
Architectury | 2.1.20 |
Auth Me | 1.5.0 |
Better Eating | 0.3.0 |
Capes | 1.2.0 |
Cloth Config | 5.0.34 |
Command Aliases | 0.4.2 |
Cr3stal | 1.0.0 |
Custom Stars | 0.5 |
Damage Tilt | 0.1.2 |
Dont Clear Chat History | 1.0 |
Disable Custom Worlds Advice | 1.3 |
Dynamic FPS | 2.0.4 |
Entity Culling | 1.3.1 |
Extra Sounds | 1.4.1 |
Fabric API | 0.36.0 |
Fabric Language Kotlin | 1.6.2+kotlin.1.5.20 |
Fabrishot | 1.5.0 |
Falling | Leaves 1.7.2 |
Ferrite | Core 3.0.1 |
FullscreeNO | 1.0.0 |
I Am Very Smart | 2.1.0 |
Inventory Profiles Next | 0.8.1 |
Item Model Fix | 1.0.2 |
Legacy Display | 1.1.3 |
Light Overlay | 6.0.0 |
Litematica | dev.20210616.033538 |
Malilib | 0.10.0-dev.22+beta.1 |
Modern Beta | 2.0.0 |
Mod Menu | 2.0.2 |
NotEnoughCrashes | 3.3.1 |
OkZoomer | 5.0.0-beta.2 |
OptiFabric | 1.11.9 |
PickBlockState | 1.0.0 |
Plasmovoice | 1.0.8 |
Pling | 1.3.0 |
Optifine | HD U G9 pre24 |
RoughlyEnoughItems | 6.0.262-alpha |
Starlight | 1.0.0 RC3 |
Swordblocking | 1.1.0 ( https://github.com/helpimnotdrowning/SwordBlocking ) |
TabTPS | 1.3.8 |
Vistas | 1.3.3 |
Worldedit | 7.3.0-SNAPSHOT |
Should have also said this before, but when loading the world for both the first and seconds times in 1.17 (and also in 1.16 now that I think about it), the game log outputs the following:
[19:26:39] [Render thread/WARN]: modern_beta:indev_hell_edge missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:indev_woods_edge missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:infdev_winter missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:indev_snowy_edge missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:infdev_old missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:infdev_old_winter missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:infdev missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:indev_paradise_edge missing from registry, but requested!
[19:26:39] [Render thread/WARN]: modern_beta:indev_edge missing from registry, but requested!
, and removing just Modern Beta and keeping all my other mods does the same as vanilla 1.17 with the single line warning and nothing else.
WorldGenSettings: Unknown registry key: modern_beta:ocean_shrine missed input: {"modern_beta:ocean_shrine":{salt:357,separation:16,spacing:64}} missed input: {"minecraft:overworld":{generator:{settings:{biome:"minecraft:plains",features:1b,lakes:1b,layers:[{block:"minecraft:bedrock",height:1},{block:"minecraft:stone",height:59},{block:"minecraft:dirt",height:3},{block:"minecraft:grass_block",height:1}],structures:{stronghold:{count:128,distance:32,spread:3},structures:{"minecraft:mineshaft":{salt:0,separation:0,spacing:1},"minecraft:pillager_outpost":{salt:165745296,separation:8,spacing:32},"minecraft:ruined_portal":{salt:34222645,separation:15,spacing:40},"minecraft:village":{salt:10387312,separation:8,spacing:32},"modern_beta:ocean_shrine":{salt:357,separation:16,spacing:64}}}},type:"minecraft:flat"},type:"minecraft:overworld"}}
Edit: This seems to be a chunk issue, not a level.dat issue because transplanting the level.dat
from a world generated in 1.17 to the problem world still shows the error.
This is actually a problem with superflat worlds. It happens when joining any superflat world for the second+ time with any preset, and doesn't happen with Amplified and Single Biome worlds.
Culprit was Fabric API >0.34.10, anything above that causes the world to fail to load. Figured out here.nvm it stopped working It started working again for some reason, but I don't know what causes it to stop working
Thanks for all the information. Was pretty baffled by all of this. Turns out Superflat is a pretty screwy world type, and requires that devs perform an extra registration step for modded structures (like this mod's Ocean Shrines) specifically so Superflat worlds don't blow up. I neglected to do this and have just fixed it with 90e0b35! Look for a v2.1.1 for 1.16.5 and 1.17.1.