Dynamic Trees - Biomes O' Plenty

Dynamic Trees - Biomes O' Plenty

7M Downloads

NoSuchMethodError trying to generate a cypress tree in the Bayou and Deep Bayou biomes

ZKtheMAN opened this issue ยท 5 comments

commented

Was running an exploration-focused pack I put together when I ran into an exception just flying around a generated world in Creative. The error is as follows;

// This doesn't make any sense!

Time: 12/31/21, 12:29 AM
Description: generating features & structures (TerraForged World-Gen)

com.terraforged.mod.profiler.watchdog.UncheckedException: Critical error detected whilst generating Feature [dynamictrees:dynamic_tree]
Caused by: java.lang.NoSuchMethodError: 'boolean com.ferreusveritas.dynamictrees.blocks.rootyblocks.SoilHelper.isSoilAcceptable(net.minecraft.block.Block, int)'
	at therealeststu.dtbop.trees.CypressSpecies.isAcceptableSoilUnderWater(CypressSpecies.java:69) ~[dtbop:1.16.5-2.0.6] {re:classloading}
	at therealeststu.dtbop.trees.CypressSpecies.isAcceptableSoilForWorldgen(CypressSpecies.java:42) ~[dtbop:1.16.5-2.0.6] {re:classloading}
	at com.ferreusveritas.dynamictrees.worldgen.TreeGenerator.makeTree(TreeGenerator.java:132) ~[dynamictrees:1.16.5-0.10.0-Beta26] {re:classloading}
	at com.ferreusveritas.dynamictrees.worldgen.TreeGenerator.makeTrees(TreeGenerator.java:103) ~[dynamictrees:1.16.5-0.10.0-Beta26] {re:classloading}
	at com.ferreusveritas.dynamictrees.worldgen.DynamicTreeFeature.lambda$place$0(DynamicTreeFeature.java:49) ~[dynamictrees:1.16.5-0.10.0-Beta26] {re:classloading}
	at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] {re:computing_frames}
	at com.ferreusveritas.dynamictrees.worldgen.DynamicTreeFeature.place(DynamicTreeFeature.java:49) ~[dynamictrees:1.16.5-0.10.0-Beta26] {re:classloading}
	at com.ferreusveritas.dynamictrees.worldgen.DynamicTreeFeature.func_241855_a(DynamicTreeFeature.java:20) ~[dynamictrees:1.16.5-0.10.0-Beta26] {re:classloading}
	at net.minecraft.world.gen.feature.ConfiguredFeature.func_242765_a(SourceFile:55) ~[?:?] {re:classloading}
	at com.terraforged.mod.chunk.generator.FeatureGenerator.decorate(FeatureGenerator.java:166) ~[terraforged:1.16.5-0.2.15] {re:classloading}
	at com.terraforged.mod.chunk.generator.FeatureGenerator.decorate(FeatureGenerator.java:106) ~[terraforged:1.16.5-0.2.15] {re:classloading}
	at com.terraforged.mod.chunk.generator.FeatureGenerator.generateFeatures(FeatureGenerator.java:88) ~[terraforged:1.16.5-0.2.15] {re:classloading}
	at com.terraforged.mod.chunk.TFChunkGenerator.func_230351_a_(TFChunkGenerator.java:250) ~[terraforged:1.16.5-0.2.15] {re:classloading}
	at net.minecraft.world.chunk.ChunkStatus.func_222605_b(ChunkStatus.java:77) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:bettercaves.mixins.json:ChunkStatusMixin,pl:mixin:A}
	at net.minecraft.world.chunk.ChunkStatus.func_223198_a(ChunkStatus.java:198) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:bettercaves.mixins.json:ChunkStatusMixin,pl:mixin:A}
	at net.minecraft.world.server.ChunkManager.lambda$null$18(ChunkManager.java:675) ~[?:?] {re:classloading,xf:OptiFine:default}
	at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?] {re:classloading}
	at net.minecraft.world.server.ChunkManager.lambda$chunkGenerate$20(ChunkManager.java:673) ~[?:?] {re:classloading,xf:OptiFine:default}
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}
	at net.minecraft.world.chunk.ChunkTaskPriorityQueueSorter.func_219083_b(SourceFile:58) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.DelegatedTaskExecutor.func_213148_e(SourceFile:94) [?:?] {re:classloading}
	at net.minecraft.util.concurrent.DelegatedTaskExecutor.func_213145_a(SourceFile:137) [?:?] {re:classloading}
	at net.minecraft.util.concurrent.DelegatedTaskExecutor.run(SourceFile:105) [?:?] {re:classloading}
	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) [?:?] {re:computing_frames}
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) [?:?] {re:computing_frames}
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) [?:?] {}

Pretty clearly the game is trying to generate a new Dynamic Tree, but looking down the call stack, I'm surprised to find that it's trying to generate a cypress tree, which I don't think is in Biomes o' Plenty. There are willow trees, though - are willow trees cypress trees? I don't know enough about Biomes o' Plenty or DTBOP to know the answer to that.

At any rate, I tried reducing down to a minimal instance of Minecraft with only Dynamic Trees, Biomes o' Plenty, and DTBOP, and started generating single-biome worlds to see where these cypress trees try to generate, and see if any other trees throw this exception. They do so in the Bayou and Deep Bayou. No other trees replicate this behavior.

This gives us a pretty easy way to replicate the behavior:

  1. Install Forge, Dynamic Trees, Biomes o' Plenty, and DTBOP
  2. Create a single-biome Bayou or Deep Bayou world
  3. Watch as the game dies during world gen
commented

I've also got this error. But I don't know if I was entering in Bayou biome

[01:08:24] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.ReportedException: Exception ticking world
at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:906) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:842) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.client.server.IntegratedServer.m_5705_(IntegratedServer.java:84) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:685) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:261) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.NoSuchMethodError: 'boolean com.ferreusveritas.dynamictrees.block.rooty.SoilHelper.isSoilAcceptable(net.minecraft.world.level.block.state.BlockState, int, boolean)'
at therealeststu.dtbop.tree.CypressSpecies.isAcceptableSoilUnderWater(CypressSpecies.java:62) ~[DynamicTreesBOP-1.18.2-3.0.0-Beta3.jar%23172!/:1.18.2-3.0.0-Beta3]
at therealeststu.dtbop.tree.CypressSpecies.isAcceptableSoilForWorldgen(CypressSpecies.java:35) ~[DynamicTreesBOP-1.18.2-3.0.0-Beta3.jar%23172!/:1.18.2-3.0.0-Beta3]
at com.ferreusveritas.dynamictrees.worldgen.DynamicTreeFeature.generateTree(DynamicTreeFeature.java:99) ~[DynamicTrees-1.18.2-0.11.0-Beta10.1.jar%23171!/:1.18.2-0.11.0-Beta10.1]
at com.ferreusveritas.dynamictrees.worldgen.DynamicTreeFeature.generateTrees(DynamicTreeFeature.java:73) ~[DynamicTrees-1.18.2-0.11.0-Beta10.1.jar%23171!/:1.18.2-0.11.0-Beta10.1]
at com.ferreusveritas.dynamictrees.worldgen.DynamicTreeFeature.lambda$place$2(DynamicTreeFeature.java:63) ~[DynamicTrees-1.18.2-0.11.0-Beta10.1.jar%23171!/:1.18.2-0.11.0-Beta10.1]
at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
at com.ferreusveritas.dynamictrees.worldgen.DynamicTreeFeature.m_142674_(DynamicTreeFeature.java:62) ~[DynamicTrees-1.18.2-0.11.0-Beta10.1.jar%23171!/:1.18.2-0.11.0-Beta10.1]
at net.minecraft.world.level.levelgen.feature.Feature.m_204740_(Feature.java:153) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.world.level.levelgen.feature.ConfiguredFeature.m_65385_(ConfiguredFeature.java:27) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.world.level.levelgen.placement.PlacedFeature.m_191789_(PlacedFeature.java:56) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[?:?]
at net.minecraft.world.level.levelgen.placement.PlacedFeature.m_191797_(PlacedFeature.java:55) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.world.level.levelgen.placement.PlacedFeature.m_191806_(PlacedFeature.java:44) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.world.level.chunk.ChunkGenerator.m_183372_(ChunkGenerator.java:475) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.world.level.chunk.ChunkStatus.m_187807_(ChunkStatus.java:135) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.world.level.chunk.ChunkStatus.m_187788_(ChunkStatus.java:262) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$22(ChunkMap.java:589) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.1.27.jar%2334!/:?]
at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$24(ChunkMap.java:587) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_(ChunkTaskPriorityQueueSorter.java:62) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.util.thread.ProcessorMailbox.m_18759_(ProcessorMailbox.java:91) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.util.thread.ProcessorMailbox.m_18747_(ProcessorMailbox.java:146) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
at net.minecraft.util.thread.ProcessorMailbox.run(ProcessorMailbox.java:102) ~[client-1.18.2-20220404.173914-srg.jar%23393!/:?]
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) ~[?:?]
[01:08:24] [Server thread/FATAL]: Preparing crash report with UUID 92233b95-185e-4853-9ea5-56be6e6d9f35
[01:08:24] [Server thread/ERROR]: This crash report has been saved to: C:\Users\sandra\curseforge\minecraft\Instances\Craftopia18\crash-reports\crash-2023-04-17_01.08.24-server.txt
[01:08:24] [Server thread/INFO]: Stopping server
[01:08:24] [Server thread/INFO]: Saving players
[01:08:24] [Render thread/FATAL]: Preparing crash report with UUID 4dda3d23-634d-4942-88cf-a3ddf37ffa7b
[01:08:24] [CraftPresence-ShutDown-Handler/INFO]: Shutting down CraftPresence...

commented

At the time the initial bug report was posted, the version used must have been 1.16.5 - there wasn't even 1.18.2 out.

Clearly nobody making this mod gives a shit about bug fixing anymore.

commented

Both of these crashes are in 1.18, I do not know what you are on about

commented

Please try this patch and let me know if you are still having the issue https://legacy.curseforge.com/minecraft/mc-mods/dtbop/files/4535955

commented

Fixed in 3.0.0-Beta4