The bug
The game crashes with java.lang.ArrayIndexOutOfBoundsException during world feature placement / decoration. I am unsure of the cause of this issue. It was showcased in this video by Phoenix SC, and I could reproduce.
A crash report is attached.
How to reproduce
Select Singleplayer -> Create New World -> More World Options...
Change World Type to Superflat, and select Customize -> Presets
Select Tunnelers' Dream
Change the preset code to
100*minecraft:stone
Select Use Preset -> Done -> Create New World
❌ Crash
If the game does not crash, you may need to try it a few more times.
Stack trace
21w08b\: [^crash-2021-03-04_08.47.11-server.txt]
Description: Feature placement
java.lang.ArrayIndexOutOfBoundsException: -1
at ckf.b(SourceFile:62)
at cke.a(SourceFile:30)
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.computeIfAbsent(Long2ObjectOpenHashMap.java:479)
at cke.a(SourceFile:28)
at cke.b(SourceFile:40)
at cpq.a(SourceFile:165)
at cpq.a(SourceFile:173)
at cqr.a(SourceFile:180)
at cqr.a(SourceFile:155)
at cqr.a(SourceFile:53)
at coy.a(SourceFile:55)
at cpe.a(SourceFile:29)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at cpe.a(SourceFile:28)
at coy.a(SourceFile:55)
at cpe.a(SourceFile:29)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at cpe.a(SourceFile:28)
at coy.a(SourceFile:55)
at cpe.a(SourceFile:29)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.IntPipeline$4$1.accept(IntPipeline.java:250)
at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:110)
at java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:693)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at cpe.a(SourceFile:28)
at coy.a(SourceFile:55)
at bvn.a(SourceFile:380)
at ckh.a(SourceFile:233)
at ckj.c(SourceFile:100)
at ckj.a(SourceFile:231)
at aau.a(SourceFile:563)
at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
at aau.a(SourceFile:557)
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
at aaw.b(SourceFile:58)
at apt.e(SourceFile:84)
at apt.a(SourceFile:124)
at apt.run(SourceFile:92)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
In addition to the "Tunnelers' Dream" preset, this also happens when you use the "Overworld", "Desert", and "The Void" superflat presets. These are the same presets that affect MC-216961, so these reports are probably related.