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

Game crashes if coral related block tags are empty during coral reef generation

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Fixed
    • 1.18.1
    • 22w03a
    • None
    • Confirmed
    • Crash, World generation
    • Important

    Description

      How to reproduce

      1. Create a new Warm Ocean single biome world with the attached datapack
      2. Check the game log

      Note that this does not always crash the game (see issue MC-247416 )

      Stack trace

      Description: Feature placement
      
      java.lang.IllegalArgumentException: bound must be positive
      	at java.base/java.util.Random.nextInt(Random.java:322)
      	at ahr.a(SourceFile:39)
      	at cvy.a(SourceFile:28)
      	at cvv.a(SourceFile:80)
      	at ddw.a(SourceFile:56)
      	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
      	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
      	at ddw.a(SourceFile:55)
      	at ddw.a(SourceFile:40)
      	at cyd.a(SourceFile:26)
      	at cvv.a(SourceFile:80)
      	at ddw.a(SourceFile:56)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
      	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
      	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
      	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
      	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
      	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
      	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
      	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
      	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
      	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
      	at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
      	at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
      	at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
      	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.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
      	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
      	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
      	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
      	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.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
      	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
      	at ddw.a(SourceFile:55)
      	at ddw.b(SourceFile:44)
      	at cpz.a(SourceFile:316)
      	at cqb.c(SourceFile:146)
      	at cqb.a(SourceFile:289)
      	at acv.a(SourceFile:605)
      	at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
      	at acv.a(SourceFile:599)
      	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
      	at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
      	at acx.b(SourceFile:58)
      	at auk.g(SourceFile:91)
      	at auk.a(SourceFile:146)
      	at auk.run(SourceFile:102)
      	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
      	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
      	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
      	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
      	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
      	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
      

      Attachments

        Issue Links

          Activity

            People

              panda4994 [Mojang] Panda
              apple502j apple502j
              Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                CHK: