Modern Beta [Fabric]

Modern Beta [Fabric]

166k Downloads

Superflat worlds refuse to load

helpimnotdrowning opened this issue · 6 comments

commented

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:

  1. 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)
  2. Fly around a bit, generate chunks
  3. Update to 1.17 with Modern Beta, join world
  4. World should load fine here
  5. Leave and rejoin world
  6. Game now complains about corrupted datapacks, log shows errors reading level.dat and level.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?

commented

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.

commented

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
commented

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.
image

commented

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.

commented

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

commented

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.