Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-214290

Crash upon importing world generation settings with a layer that is less than 0 blocks high

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Fixed
    • Affects Version/s: 21w05b, 21w06a, 21w07a, 21w10a
    • Fix Version/s: 21w11a
    • Labels:
      None
    • Confirmation Status:
      Confirmed
    • Category:
      Crash
    • Mojang Priority:
      Very Important

      Description

      The bug

      When creating a flat world with custom world generation settings, and setting the height of one of the layers to a negative value (for example, -1), the game crashes. A full crash report is attached, as well as the world generation settings file used to reproduce this issue.

      Closely relates to MC-213583.

      How to reproduce

      1. Select Singleplayer → Create New World → More World Options... → Import Settings
      2. Import the 214290.json file
        Game crashes

      Stack trace

      Description: mouseClicked event handler
      
      java.lang.ArrayIndexOutOfBoundsException: -1
      	at cus.h(SourceFile:236)
      	at cus.<init>(SourceFile:99)
      	at com.mojang.datafixers.util.Function6.lambda$null$4(Function6.java:18)
      	at com.mojang.datafixers.util.Function3.lambda$null$0(Function3.java:10)
      	at com.mojang.datafixers.kinds.Applicative.lambda$null$8(Applicative.java:75)
      	at com.mojang.serialization.DataResult.lambda$null$17(DataResult.java:159)
      	at java.util.Optional.map(Optional.java:215)
      	at com.mojang.serialization.DataResult.lambda$null$18(DataResult.java:159)
      	at com.mojang.datafixers.util.Either$Right.mapBoth(Either.java:94)
      	at com.mojang.serialization.DataResult.lambda$ap$19(DataResult.java:157)
      	at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
      	at com.mojang.serialization.DataResult.ap(DataResult.java:156)
      	at com.mojang.serialization.DataResult$Instance.ap(DataResult.java:301)
      	at com.mojang.datafixers.kinds.Applicative.ap2(Applicative.java:76)
      	at com.mojang.serialization.DataResult$Instance.ap2(DataResult.java:321)
      	at com.mojang.datafixers.kinds.Applicative.ap3(Applicative.java:80)
      	at com.mojang.serialization.DataResult$Instance.ap3(DataResult.java:344)
      	at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$5.decode(RecordCodecBuilder.java:321)
      	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.Codec$1.decode(Codec.java:45)
      	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.MapDecoder$4.decode(MapDecoder.java:94)
      	at com.mojang.serialization.MapCodec$1.decode(MapCodec.java:34)
      	at com.mojang.serialization.codecs.KeyDispatchCodec.lambda$null$1(KeyDispatchCodec.java:67)
      	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.codecs.KeyDispatchCodec.lambda$decode$2(KeyDispatchCodec.java:58)
      	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.codecs.KeyDispatchCodec.decode(KeyDispatchCodec.java:56)
      	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.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$3.decode(RecordCodecBuilder.java:249)
      	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.parse(Decoder.java:18)
      	at com.mojang.serialization.codecs.BaseMapCodec.lambda$decode$2(BaseMapCodec.java:31)
      	at java.util.stream.ReduceOps$1ReducingSink.accept(ReduceOps.java:80)
      	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      	at java.util.Iterator.forEachRemaining(Iterator.java:116)
      	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:484)
      	at com.mojang.serialization.codecs.BaseMapCodec.decode(BaseMapCodec.java:27)
      	at com.mojang.serialization.codecs.UnboundedMapCodec.lambda$decode$0(UnboundedMapCodec.java:38)
      	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.codecs.UnboundedMapCodec.decode(UnboundedMapCodec.java:38)
      	at com.mojang.serialization.Decoder$2.decode(Decoder.java:63)
      	at com.mojang.serialization.Codec$2.decode(Codec.java:71)
      	at vv.decode(SourceFile:33)
      	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 dyy.a(SourceFile:171)
      	at dru.b(SourceFile:33)
      	at dro.a(SourceFile:16)
      	at drs.a(SourceFile:153)
      	at dss.a(SourceFile:27)
      	at dql.b(SourceFile:92)
      	at dve.a(SourceFile:451)
      	at dql.a(SourceFile:92)
      	at dql.c(SourceFile:162)
      	at aox.execute(SourceFile:94)
      	at dql.b(SourceFile:162)
      	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36)
      	at org.lwjgl.system.JNI.invokeV(Native Method)
      	at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3050)
      	at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:115)
      	at dle.e(SourceFile:308)
      	at dqk.e(SourceFile:1073)
      	at dqk.e(SourceFile:688)
      	at net.minecraft.client.main.Main.main(SourceFile:215)
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              markderickson [Helper] Mark Derickson
              Votes:
              3 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                CHK: