[Bug]: 1.18.2 World Hang when fetching structure location on Cartographer
Reshy opened this issue ยท 0 comments
Describe the issue
The world hangs a bit if a structure spawns far away and the villager (or chest) spawns with the map to that far away structure. Async locator is supposed to help this, but it doesn't seem like Valhelsia has compatibility with it for the multithreading performance
Minecraft Version
1.18.2
Mods Version
- Forge: 40.2.1
- Valhelsia Structures: valhelsia_structures-forge-1.18.2-0.1.0.jar
- Valhelsia Core: valhelsia_core-forge-1.18.2-0.4.0.jar
Log
"Worker-Main-2" #98 daemon prio=4 os_prio=-1 cpu=41593.75ms elapsed=1311.98s tid=0x0000024351b6da00 nid=0x7af8 runnable [0x00000074622fb000]
java.lang.Thread.State: RUNNABLE
at java.lang.invoke.LambdaForm$DMH/0x00000008002bd400.invokeStatic([email protected]/LambdaForm$DMH)
- parking to wait for <0x0000000419ff1b88> (a java.util.concurrent.ForkJoinPool)
at java.lang.invoke.LambdaForm$MH/0x0000000804c21400.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003fa000.linkToTargetMethod([email protected]/LambdaForm$MH)
at net.minecraft.world.level.levelgen.DensityFunctions$MulOrAdd.hashCode([email protected]/DensityFunctions.java:1086)
at java.util.Objects.hashCode([email protected]/Objects.java:103)
at java.lang.invoke.DirectMethodHandle$Holder.invokeStatic([email protected]/DirectMethodHandle$Holder)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9000.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003fa000.linkToTargetMethod([email protected]/LambdaForm$MH)
at net.minecraft.world.level.levelgen.DensityFunctions$MulOrAdd.hashCode([email protected]/DensityFunctions.java:1086)
at java.util.Objects.hashCode([email protected]/Objects.java:103)
at java.lang.invoke.DirectMethodHandle$Holder.invokeStatic([email protected]/DirectMethodHandle$Holder)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9000.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003f9c00.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00000008003fa000.linkToTargetMethod([email protected]/LambdaForm$MH)
at net.minecraft.world.level.levelgen.DensityFunctions$RangeChoice.hashCode([email protected]/DensityFunctions.java:683)
at java.util.HashMap.hash([email protected]/HashMap.java:338)
at java.util.HashMap.computeIfAbsent([email protected]/HashMap.java:1191)
at net.minecraft.world.level.levelgen.NoiseChunk.m_209213_([email protected]/NoiseChunk.java:855)
at net.minecraft.world.level.levelgen.NoiseChunk$$Lambda$51227/0x0000000804f51820.apply([email protected]/Unknown Source)
at net.minecraft.world.level.levelgen.DensityFunctions$RangeChoice.m_207456_([email protected]/DensityFunctions.java:718)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$RangeChoice.m_207456_([email protected]/DensityFunctions.java:718)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Marker.m_207456_([email protected]/DensityFunctions.java:457)
at net.minecraft.world.level.biome.TerrainShaper$CoordinateCustom.m_211611_([email protected]/TerrainShaper.java:91)
at net.minecraft.world.level.levelgen.DensityFunctions$Spline.m_211718_([email protected]/DensityFunctions.java:1236)
at net.minecraft.world.level.levelgen.DensityFunctions$Spline$$Lambda$48191/0x0000000804c8f290.m_211582_([email protected]/Unknown Source)
at net.minecraft.util.CubicSpline$Multipoint.m_211396_([email protected]/CubicSpline.java:113)
at net.minecraft.util.CubicSpline$Multipoint.m_211586_([email protected]/CubicSpline.java:115)
at net.minecraft.util.CubicSpline$Multipoint$$Lambda$48192/0x0000000804c8f4b0.apply([email protected]/Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept([email protected]/ReferencePipeline.java:197)
at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining([email protected]/AbstractList.java:720)
at java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:509)
at java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:499)
at java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:575)
at java.util.stream.AbstractPipeline.evaluateToArrayNode([email protected]/AbstractPipeline.java:260)
at java.util.stream.ReferencePipeline.toArray([email protected]/ReferencePipeline.java:616)
at java.util.stream.ReferencePipeline.toArray([email protected]/ReferencePipeline.java:622)
at java.util.stream.ReferencePipeline.toList([email protected]/ReferencePipeline.java:627)
at net.minecraft.util.CubicSpline$Multipoint.m_211396_([email protected]/CubicSpline.java:115)
at net.minecraft.world.level.levelgen.DensityFunctions$Spline.m_207456_([email protected]/DensityFunctions.java:1236)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Marker.m_207456_([email protected]/DensityFunctions.java:457)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Marker.m_207456_([email protected]/DensityFunctions.java:457)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$RangeChoice.m_207456_([email protected]/DensityFunctions.java:718)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Ap2.m_207456_([email protected]/DensityFunctions.java:1199)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Ap2.m_207456_([email protected]/DensityFunctions.java:1199)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Marker.m_207456_([email protected]/DensityFunctions.java:457)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Ap2.m_207456_([email protected]/DensityFunctions.java:1199)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Marker.m_207456_([email protected]/DensityFunctions.java:457)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$RangeChoice.m_207456_([email protected]/DensityFunctions.java:718)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Marker.m_207456_([email protected]/DensityFunctions.java:457)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.DensityFunctions$Ap2.m_207456_([email protected]/DensityFunctions.java:1199)
at net.minecraft.world.level.levelgen.DensityFunctions$HolderHolder.m_207456_([email protected]/DensityFunctions.java:392)
at net.minecraft.world.level.levelgen.NoiseChunk.<init>([email protected]/NoiseChunk.java:219)
at net.minecraft.world.level.levelgen.NoiseChunk.m_209194_([email protected]/NoiseChunk.java:120)
at net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator.m_158413_([email protected]/NoiseBasedChunkGenerator.java:238)
at net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator.m_142647_([email protected]/NoiseBasedChunkGenerator.java:172)
at net.minecraft.world.level.chunk.ChunkGenerator.m_156179_([email protected]/ChunkGenerator.java:723)
at com.stal111.valhelsia_structures.common.world.structures.AbstractValhelsiaStructure.isFeatureChunk([email protected]/AbstractValhelsiaStructure.java:72)
at com.stal111.valhelsia_structures.common.world.structures.SpawnerDungeonStructure.lambda$create$0([email protected]/SpawnerDungeonStructure.java:43)
at com.stal111.valhelsia_structures.common.world.structures.SpawnerDungeonStructure$$Lambda$27768/0x0000000803062d08.test([email protected]/Unknown Source)
at net.valhelsia.valhelsia_core.common.world.ValhelsiaJigsawStructure.lambda$new$0([email protected]/ValhelsiaJigsawStructure.java:27)
at net.valhelsia.valhelsia_core.common.world.ValhelsiaJigsawStructure$$Lambda$27721/0x000000080304da68.m_197347_([email protected]/Unknown Source)
at net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature.m_204707_([email protected]/ConfiguredStructureFeature.java:53)
at net.minecraft.world.level.chunk.ChunkGenerator.m_208016_([email protected]/ChunkGenerator.java:650)
at net.minecraft.world.level.chunk.ChunkGenerator.m_212256_([email protected]/ChunkGenerator.java:604)
at net.minecraft.world.level.chunk.ChunkGenerator$$Lambda$51198/0x0000000804f475f8.accept([email protected]/Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept([email protected]/ForEachOps.java:183)
at java.util.stream.ReferencePipeline$3$1.accept([email protected]/ReferencePipeline.java:197)
at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining([email protected]/AbstractList.java:720)
at java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:509)
at java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:499)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential([email protected]/ForEachOps.java:150)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential([email protected]/ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach([email protected]/ReferencePipeline.java:596)
at net.minecraft.world.level.chunk.ChunkGenerator.m_62199_([email protected]/ChunkGenerator.java:586)
at net.minecraft.world.level.chunk.ChunkStatus.m_187860_([email protected]/ChunkStatus.java:49)
at net.minecraft.world.level.chunk.ChunkStatus$$Lambda$3623/0x0000000800bfdf18.m_183270_([email protected]/Unknown Source)
at net.minecraft.world.level.chunk.ChunkStatus.m_187788_([email protected]/ChunkStatus.java:262)
at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$22([email protected]/ChunkMap.java:589)
at net.minecraft.server.level.ChunkMap$$Lambda$51195/0x0000000804f46f38.apply([email protected]/Unknown Source)
at com.mojang.datafixers.util.Either$Left.map([email protected]/Either.java:38)
at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$24([email protected]/ChunkMap.java:587)
at net.minecraft.server.level.ChunkMap$$Lambda$51150/0x0000000804f36f28.apply([email protected]/Unknown Source)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire([email protected]/CompletableFuture.java:1150)
at java.util.concurrent.CompletableFuture$Completion.run([email protected]/CompletableFuture.java:482)
at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_([email protected]/ChunkTaskPriorityQueueSorter.java:62)
at net.minecraft.server.level.ChunkTaskPriorityQueueSorter$$Lambda$51193/0x0000000804f46ae8.run([email protected]/Unknown Source)
at net.minecraft.util.thread.ProcessorMailbox.m_18759_([email protected]/ProcessorMailbox.java:91)
at net.minecraft.util.thread.ProcessorMailbox.m_18747_([email protected]/ProcessorMailbox.java:146)
at net.minecraft.util.thread.ProcessorMailbox.run([email protected]/ProcessorMailbox.java:102)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec([email protected]/ForkJoinTask.java:1395)
at java.util.concurrent.ForkJoinTask.doExec([email protected]/ForkJoinTask.java:373)
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec([email protected]/ForkJoinPool.java:1182)
at java.util.concurrent.ForkJoinPool.scan([email protected]/ForkJoinPool.java:1655)
at java.util.concurrent.ForkJoinPool.runWorker([email protected]/ForkJoinPool.java:1622)
at java.util.concurrent.ForkJoinWorkerThread.run([email protected]/ForkJoinWorkerThread.java:165)