Valhelsia Structures

Valhelsia Structures

21M Downloads

[Bug]: 1.18.2 World Hang when fetching structure location on Cartographer

Reshy opened this issue ยท 0 comments

commented

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)