GregTechCEu Modern

GregTechCEu Modern

6M Downloads

layeredVeinGenerator requires at least 2 veins (crash: Bound must be positive)

TheModMaker opened this issue ยท 0 comments

commented

Checked for existing issues

  • I have checked for existing issues, and have found none.

Tested latest version

  • I have checked that this occurs on the latest version.

GregTech CEu Version

1.6.2

Minecraft Version

1.20.1 Forge

Recipe Viewer Installed

None

Environment

Singleplayer

Cross-Mod Interaction

Unsure

Other Installed Mods

KubeJS (+Rhino+Architectury API)

Expected Behavior

World gen should succeed with custom ore veins.

Actual Behavior

Crash during world generation.

java.util.concurrent.CompletionException: net.minecraft.ReportedException: Exception generating new chunk
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159) ~[?:?]
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
	at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_(ChunkTaskPriorityQueueSorter.java:62) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.util.thread.ProcessorMailbox.m_18759_(ProcessorMailbox.java:91) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.util.thread.ProcessorMailbox.m_18747_(ProcessorMailbox.java:146) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.util.thread.ProcessorMailbox.run(ProcessorMailbox.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) ~[?:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: net.minecraft.ReportedException: Exception generating new chunk
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:660) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar%23114!/:?]
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29(ChunkMap.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]
	... 11 more
Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Bound must be positive
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2055) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4863) ~[guava-31.1-jre.jar%23109!/:?]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenCache.lambda$consumeChunkVeins$2(OreGenCache.java:85) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
	at java.util.stream.WhileOps$1$1.accept(WhileOps.java:99) ~[?:?]
	at java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef.tryAdvance(StreamSpliterators.java:1358) ~[?:?]
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[?:?]
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?]
	at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenCache.consumeChunkVeins(OreGenCache.java:93) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OrePlacer.placeOres(OrePlacer.java:52) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at net.minecraft.world.level.chunk.ChunkGenerator.handler$zco000$gtceu$applyBiomeDecoration(ChunkGenerator.java:665) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:379) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkStatus.m_279978_(ChunkStatus.java:108) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkStatus$SimpleGenerationTask.m_214024_(ChunkStatus.java:309) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkStatus.m_280308_(ChunkStatus.java:252) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:643) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar%23114!/:?]
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29(ChunkMap.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]
	... 11 more
Caused by: java.lang.IllegalArgumentException: Bound must be positive
	at net.minecraft.world.level.levelgen.XoroshiroRandomSource.m_188503_(XoroshiroRandomSource.java:63) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at com.gregtechceu.gtceu.api.data.worldgen.GTLayerPattern.rollNext(GTLayerPattern.java:40) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at com.gregtechceu.gtceu.api.data.worldgen.generator.veins.LayeredVeinGenerator.generate(LayeredVeinGenerator.java:134) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenerator.generateOres(OreGenerator.java:108) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenerator.lambda$generateOres$8(OreGenerator.java:101) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?]
	at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenerator.generateOres(OreGenerator.java:102) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenCache.lambda$consumeChunkVeins$1(OreGenCache.java:86) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4868) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966) ~[guava-31.1-jre.jar%23109!/:?]
	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4863) ~[guava-31.1-jre.jar%23109!/:?]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenCache.lambda$consumeChunkVeins$2(OreGenCache.java:85) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
	at java.util.stream.WhileOps$1$1.accept(WhileOps.java:99) ~[?:?]
	at java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef.tryAdvance(StreamSpliterators.java:1358) ~[?:?]
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[?:?]
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?]
	at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OreGenCache.consumeChunkVeins(OreGenCache.java:93) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at com.gregtechceu.gtceu.api.data.worldgen.ores.OrePlacer.placeOres(OrePlacer.java:52) ~[gtceu-1.20.1-1.6.2.jar%23161!/:1.6.2]
	at net.minecraft.world.level.chunk.ChunkGenerator.handler$zco000$gtceu$applyBiomeDecoration(ChunkGenerator.java:665) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:379) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkStatus.m_279978_(ChunkStatus.java:108) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkStatus$SimpleGenerationTask.m_214024_(ChunkStatus.java:309) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.world.level.chunk.ChunkStatus.m_280308_(ChunkStatus.java:252) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:643) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar%23114!/:?]
	at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29(ChunkMap.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23164!/:?]
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]
	... 11 more

Steps to Reproduce

Add any new ore veins that uses the layeredVeinGenerator and only has one layer. If there are two layers the issue goes away. Add the following scrip:

GTCEuServerEvents.oreVeins(event => {
  event.add('kubejs:test_vein', vein => {
    vein.weight(40);
    vein.clusterSize(20);
    vein.density(0.65);
    vein.layer('deepslate');
    vein.heightRangeUniform(10, 50);
    vein.layeredVeinGenerator(gen => gen.buildLayerPattern(pattern => {
      pattern.layer(l => l.weight(1).mat(GTMaterials.Cassiterite).size(1, 1));
    }));
    vein.surfaceIndicatorGenerator(
        indicator => indicator.surfaceRock(GTMaterials.Cassiterite)
                          .placement('above')
                          .density(0.4)
                          .radius(5));
  });
});

Additional Information

No response