-
Bug
-
Resolution: Cannot Reproduce
-
None
-
1.19
-
None
-
Unconfirmed
-
(Unassigned)
Custom dimension errors in 1.19 are less descriptive than they were in 1.16.x and 1.17.x. Making it hard to identify what is failing when designing a custom dimension. Steps to reproduce:
- Launch Minecraft.
- Click on Singleplayer. If a world already exists, click on Create New World.
- Click on Data Packs.
- Drag and drop the datapack myemptydimension_1_19.zip
myemptydimension_1_19.zip
. Then click Yes. - Move the datapack to show under Selected on the game screen.
- Click Done.
It gives this generic error
eoc Render thread Failed to validate datapack java.util.concurrent.CompletionException: java.lang.IllegalStateException: Trying to access unbound value 'ResourceKey[minecraft:dimension / myemptydimension:myempty_dimension]' from registry Registry[ResourceKey[minecraft:root / minecraft:dimension] (Stable)] at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332) at java.base/java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:747) at java.base/java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:735) at java.base/java.util.concurrent.CompletableFuture.thenAcceptAsync(CompletableFuture.java:2191) at eoc.a(SourceFile:543) at enf.c(SourceFile:49) at eng.ah_(SourceFile:78) at eng.b(SourceFile:95) at egs.d(SourceFile:40) at egm.a(SourceFile:16) at egq.a(SourceFile:120) at ehp.a(SourceFile:27) at eew.b(SourceFile:94) at ekj.a(SourceFile:491) at eew.a(SourceFile:94) at eew.c(SourceFile:165) at ayc.execute(SourceFile:103) at eew.b(SourceFile:165) at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) at org.lwjgl.system.JNI.invokeV(Native Method) at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403) at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:197) at dyx.e(SourceFile:310) at eev.f(SourceFile:1171) at eev.e(SourceFile:734) at net.minecraft.client.main.Main.main(SourceFile:237) Caused by: java.lang.IllegalStateException: Trying to access unbound value 'ResourceKey[minecraft:dimension / myemptydimension:myempty_dimension]' from registry Registry[ResourceKey[minecraft:root / minecraft:dimension] (Stable)] at hc$c.a(SourceFile:159) at hh.a(SourceFile:265) at hh.a(SourceFile:184) at cxy.a(SourceFile:67) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at cxy.a(SourceFile:66) at com.mojang.datafixers.util.Pair.mapFirst(Pair.java:64) at com.mojang.serialization.Decoder$2.lambda$decode$0(Decoder.java:63) at java.base/java.util.Optional.map(Optional.java:260) at com.mojang.serialization.DataResult.lambda$map$5(DataResult.java:112) at com.mojang.datafixers.util.Either$Right.mapBoth(Either.java:94) at com.mojang.serialization.DataResult.map(DataResult.java:110) at com.mojang.serialization.Decoder$2.decode(Decoder.java:63) at com.mojang.serialization.Codec$2.decode(Codec.java:71) at com.mojang.serialization.Decoder.parse(Decoder.java:18) at com.mojang.serialization.codecs.FieldDecoder.decode(FieldDecoder.java:29) at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34) at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:324) at com.mojang.serialization.codecs.RecordCodecBuilder$2.decode(RecordCodecBuilder.java:107) at com.mojang.serialization.MapDecoder.lambda$compressedDecode$0(MapDecoder.java:52) at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) at com.mojang.datafixers.util.Either$Left.map(Either.java:38) at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) at com.mojang.serialization.MapDecoder.compressedDecode(MapDecoder.java:52) at com.mojang.serialization.MapCodec$MapCodecCodec.decode(MapCodec.java:91) at com.mojang.serialization.Decoder$1.decode(Decoder.java:49) at com.mojang.serialization.Codec$2.decode(Codec.java:71) at com.mojang.serialization.Decoder.parse(Decoder.java:18) at eoc.a(SourceFile:518) at com.mojang.serialization.DataResult.lambda$flatMap$10(DataResult.java:138) at com.mojang.datafixers.util.Either$Left.map(Either.java:38) at com.mojang.serialization.DataResult.flatMap(DataResult.java:136) at eoc.a(SourceFile:518) at abb.a(SourceFile:24) at eoc.a(SourceFile:509) ... 21 more
Performing the same steps on 1.17.1 with the datapack myemptydimension_1_17_1.zip
, which is the equivalent of the one used above in 1.19 but for 1.17.1, one gets the missing layers message as a descriptive error which helps understand what is missing:
eej Render thread Error parsing worldgen settings after loading data packs: No key layers in MapLike[{"biome":"minecraft:plains"}]; No key structures in MapLike[{"biome":"minecraft:plains"}]
Looking at the error in 1.17.1, it is more descriptive than the one in 1.19 for the same problem and it also doesn't have a long stacktrace after it.
Attached is a video (Custom Dimensions.mp4
) showing the differences between these two versions. 1.17.1 outputs to the error pipeline and gives a descriptive error. 1.19 outputs to the warning pipeline and it doesn't give a descriptive error of what is missing.
As it stands on 1.19, making custom dimensions using datapacks is a guessing task of what may be missing.