[Bug] BetterEnd fails hard when generating End Cave Biome
kvndl opened this issue · 6 comments
What happened?
When in The End, most of everything loads in just fine - in fact everything was working perfect. Until just recently the entire server fails hard when loading anything new in The End. Assuming it entails the EndCaveBiome
based on the logs: Crash Report
Error executing task on Chunk source main thread executor for minecraft:the_end
net.minecraft.class_148: Feature placement
...
Caused by: java.lang.ClassCastException: class org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome cannot be cast to class org.betterx.betterend.world.biome.cave.EndCaveBiome (org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome and org.betterx.betterend.world.biome.cave.EndCaveBiome are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @7f9a81e8)
Once the server restarts, it will allow a player to login and spawn. Since my personal player is in The End, it immediately crashes again when it goes to load in the "bad" chunks.
Digging around some other threads, it looks like excluding the failing biome (EndCaveBiome
) from BCLib's biomes.json
might do the trick, but not certain what to put where. I've also gone through the liberty of downgrading BetterEnd to a previous version to no avail. Also attempted was loading in our level.dat
file in NBTExplorer but everything looks fine with the information I am aware of about how all the BetterX mods are wired together and function.
This bit tells me otherwise - possibly some corruption with the tags?
[01:43:58] [main/INFO]: [bclib] Found Data from BetterNether, using for migration.
[01:43:58] [main/ERROR]: [worlds_together] Tried to read from global registry!
[01:43:58] [main/ERROR]: [worlds_together] No valid registry found!
[01:43:58] [main/ERROR]: [bclib] Failed to set world to BiomeSource Version ResourceKey[minecraft:worldgen/world_preset / bclib:normal]
[01:43:59] [main/INFO]: [STDOUT]: Dimensions:{"minecraft:overworld":{generator:{biome_source:{preset:"minecraft:overworld",type:"minecraft:multi_noise"},settings:"minecraft:overworld",type:"minecraft:noise"},type:"minecraft:overworld"},"minecraft:the_end":{generator:{biome_source:{config:{barrens_biomes_size:256,center_biomes_size:256,generator_version:"vanilla",inner_void_radius_squared:1048576,land_biomes_size:256,map_type:"hex",void_biomes_size:256,with_void_biomes:1b},seed:167826389359076639L,type:"bclib:end_biome_source"},settings:"minecraft:end",type:"minecraft:noise"},type:"minecraft:the_end"},"minecraft:the_nether":{generator:{biome_source:{config:{amplified:0b,biome_size:256,biome_size_vertical:86,map_type:"hex",use_vertical_biomes:1b},seed:167826389359076639L,type:"bclib:nether_biome_source"},settings:"minecraft:nether",type:"minecraft:noise"},type:"minecraft:the_nether"}}
The only other mod that may be interfering would be Lithium, but the same result has occurred with it being removed. Any help on this would be much appreciated. I'd be happy to supply any additional information about this issue :)
Edit: Our level.dat
as shown in NBTExplorer
BetterEnd
4.0.8
BCLib
3.0.11
Fabric API
0.86.0+1.20.1
Fabric Loader
0.14.21
Minecraft
1.20.1
Relevant log output
[01:57:14] [Server thread/ERROR]: Error executing task on Chunk source main thread executor for minecraft:the_end
net.minecraft.class_148: Feature placement
at net.minecraft.class_3898.method_39934(class_3898.java:699) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[server-intermediary.jar:?]
at net.minecraft.class_3215$class_4212.method_18859(class_3215.java:564) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[server-intermediary.jar:?]
at net.minecraft.class_3215$class_4212.method_16075(class_3215.java:573) ~[server-intermediary.jar:?]
at net.minecraft.class_3215.method_19492(class_3215.java:282) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:770) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:758) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:743) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:675) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[server-intermediary.jar:?]
at java.lang.Thread.run(Unknown Source) ~[?:?]
Caused by: java.lang.ClassCastException: class org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome cannot be cast to class org.betterx.betterend.world.biome.cave.EndCaveBiome (org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome and org.betterx.betterend.world.biome.cave.EndCaveBiome are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @7f9a81e8)
at org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature.lambda$place$3(TunelCaveFeature.java:180) ~[better-end-4.0.8.jar:?]
at java.util.HashMap.forEach(Unknown Source) ~[?:?]
at org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature.method_13151(TunelCaveFeature.java:178) ~[better-end-4.0.8.jar:?]
at net.minecraft.class_3031.method_40163(class_3031.java:166) ~[server-intermediary.jar:?]
at net.minecraft.class_2975.method_12862(class_2975.java:28) ~[server-intermediary.jar:?]
at net.minecraft.class_6796.method_39646(class_6796.java:54) ~[server-intermediary.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:?]
at java.util.stream.IntPipeline$1$1.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Unknown Source) ~[?:?]
at java.util.Spliterator$OfInt.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:?]
at net.minecraft.class_6796.method_39648(class_6796.java:53) ~[server-intermediary.jar:?]
at net.minecraft.class_6796.method_39650(class_6796.java:42) ~[server-intermediary.jar:?]
at net.minecraft.class_2794.method_12102(class_2794.java:357) ~[server-intermediary.jar:?]
at net.minecraft.class_2806.method_51375(class_2806.java:108) ~[server-intermediary.jar:?]
at net.minecraft.class_2806$class_3768.doWork(class_2806.java:309) ~[server-intermediary.jar:?]
at net.minecraft.class_2806.method_12154(class_2806.java:252) ~[server-intermediary.jar:?]
at net.minecraft.class_3898.method_17225(class_3898.java:684) ~[server-intermediary.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?]
at net.minecraft.class_3898.method_17224(class_3898.java:673) ~[server-intermediary.jar:?]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source) ~[?:?]
at net.minecraft.class_3900.method_17634(class_3900.java:62) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.method_16907(class_3846.java:91) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.method_16900(class_3846.java:146) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.run(class_3846.java:102) ~[server-intermediary.jar:?]
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) ~[?:?]
[01:57:14] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.class_148: Feature placement
at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:901) ~[server-intermediary.jar:?]
at net.minecraft.class_3176.method_3813(class_3176.java:283) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[server-intermediary.jar:?]
at java.lang.Thread.run(Unknown Source) ~[?:?]
Caused by: java.lang.ClassCastException: class org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome cannot be cast to class org.betterx.betterend.world.biome.cave.EndCaveBiome (org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome and org.betterx.betterend.world.biome.cave.EndCaveBiome are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @7f9a81e8)
at org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature.lambda$place$3(TunelCaveFeature.java:180) ~[better-end-4.0.8.jar:?]
at java.util.HashMap.forEach(Unknown Source) ~[?:?]
at org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature.method_13151(TunelCaveFeature.java:178) ~[better-end-4.0.8.jar:?]
at net.minecraft.class_3031.method_40163(class_3031.java:166) ~[server-intermediary.jar:?]
at net.minecraft.class_2975.method_12862(class_2975.java:28) ~[server-intermediary.jar:?]
at net.minecraft.class_6796.method_39646(class_6796.java:54) ~[server-intermediary.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:?]
at java.util.stream.IntPipeline$1$1.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Unknown Source) ~[?:?]
at java.util.Spliterator$OfInt.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:?]
at net.minecraft.class_6796.method_39648(class_6796.java:53) ~[server-intermediary.jar:?]
at net.minecraft.class_6796.method_39650(class_6796.java:42) ~[server-intermediary.jar:?]
at net.minecraft.class_2794.method_12102(class_2794.java:357) ~[server-intermediary.jar:?]
at net.minecraft.class_2806.method_51375(class_2806.java:108) ~[server-intermediary.jar:?]
at net.minecraft.class_2806$class_3768.doWork(class_2806.java:309) ~[server-intermediary.jar:?]
at net.minecraft.class_2806.method_12154(class_2806.java:252) ~[server-intermediary.jar:?]
at net.minecraft.class_3898.method_17225(class_3898.java:684) ~[server-intermediary.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?]
at net.minecraft.class_3898.method_17224(class_3898.java:673) ~[server-intermediary.jar:?]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source) ~[?:?]
at net.minecraft.class_3900.method_17634(class_3900.java:62) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.method_16907(class_3846.java:91) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.method_16900(class_3846.java:146) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.run(class_3846.java:102) ~[server-intermediary.jar:?]
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) ~[?:?]
[01:57:14] [Server thread/ERROR]: This crash report has been saved to: /data/./crash-reports/crash-2023-07-21_01.57.14-server.txt
[01:57:14] [Server thread/INFO]: Stopping server
[01:57:14] [Server thread/INFO]: Saving players
[01:57:14] [Server thread/INFO]: KevinNoodle lost connection: Server closed
[01:57:14] [Server thread/INFO]: KevinNoodle left the game
[01:57:14] [Server thread/INFO]: Saving worlds
[01:57:14] [Server thread/ERROR]: Exception stopping the server
java.util.concurrent.CompletionException: net.minecraft.class_148: Feature placement
at java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source) ~[?:?]
at net.minecraft.class_3900.method_17634(class_3900.java:62) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.method_16907(class_3846.java:91) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.method_16900(class_3846.java:146) ~[server-intermediary.jar:?]
at net.minecraft.class_3846.run(class_3846.java:102) ~[server-intermediary.jar:?]
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) ~[?:?]
Caused by: net.minecraft.class_148: Feature placement
at net.minecraft.class_3898.method_17225(class_3898.java:701) ~[server-intermediary.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?]
at net.minecraft.class_3898.method_17224(class_3898.java:673) ~[server-intermediary.jar:?]
... 12 more
Caused by: java.lang.ClassCastException: class org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome cannot be cast to class org.betterx.betterend.world.biome.cave.EndCaveBiome (org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome and org.betterx.betterend.world.biome.cave.EndCaveBiome are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @7f9a81e8)
at org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature.lambda$place$3(TunelCaveFeature.java:180) ~[better-end-4.0.8.jar:?]
at java.util.HashMap.forEach(Unknown Source) ~[?:?]
at org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature.method_13151(TunelCaveFeature.java:178) ~[better-end-4.0.8.jar:?]
at net.minecraft.class_3031.method_40163(class_3031.java:166) ~[server-intermediary.jar:?]
at net.minecraft.class_2975.method_12862(class_2975.java:28) ~[server-intermediary.jar:?]
at net.minecraft.class_6796.method_39646(class_6796.java:54) ~[server-intermediary.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:?]
at java.util.stream.IntPipeline$1$1.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Unknown Source) ~[?:?]
at java.util.Spliterator$OfInt.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:?]
at net.minecraft.class_6796.method_39648(class_6796.java:53) ~[server-intermediary.jar:?]
at net.minecraft.class_6796.method_39650(class_6796.java:42) ~[server-intermediary.jar:?]
at net.minecraft.class_2794.method_12102(class_2794.java:357) ~[server-intermediary.jar:?]
at net.minecraft.class_2806.method_51375(class_2806.java:108) ~[server-intermediary.jar:?]
at net.minecraft.class_2806$class_3768.doWork(class_2806.java:309) ~[server-intermediary.jar:?]
at net.minecraft.class_2806.method_12154(class_2806.java:252) ~[server-intermediary.jar:?]
at net.minecraft.class_3898.method_17225(class_3898.java:684) ~[server-intermediary.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?]
at net.minecraft.class_3898.method_17224(class_3898.java:673) ~[server-intermediary.jar:?]
... 12 more
[01:57:14] [Server thread/INFO]: Thread RCON Listener stopped
Other Mods
[01:43:37] [main/INFO]: Loading 76 mods:
- alwaysawitherskull 3.0
- balm-fabric 7.0.4
- bclib 3.0.11
\-- wunderlib 1.1.5
- betterend 4.0.8
- betterleads 1.1.0+1.20.1
\-- spruceui 5.0.0+1.20
- betternether 9.0.8
- collective 6.65
- comforts 6.3.3+1.20.1
|-- cardinal-components-base 5.2.1
|-- cardinal-components-entity 5.2.1
\-- spectrelib 0.13.12+1.20.1
|-- com_electronwill_night-config_core 3.6.5
\-- com_electronwill_night-config_toml 3.6.5
- fabric-api 0.86.0+1.20.1
|-- fabric-api-base 0.4.30+7abfd51577
|-- fabric-api-lookup-api-v1 1.6.35+4d8536c977
|-- fabric-biome-api-v1 13.0.10+b3afc78b77
|-- fabric-block-api-v1 1.0.9+e022e5d177
|-- fabric-blockrenderlayer-v1 1.1.40+b3afc78b77
|-- fabric-client-tags-api-v1 1.1.1+97bb207577
|-- fabric-command-api-v1 1.2.33+f71b366f77
|-- fabric-command-api-v2 2.2.12+b3afc78b77
|-- fabric-commands-v0 0.2.50+df3654b377
|-- fabric-containers-v0 0.1.62+df3654b377
|-- fabric-content-registries-v0 4.0.9+b3afc78b77
|-- fabric-convention-tags-v1 1.5.4+a1a980da77
|-- fabric-crash-report-info-v1 0.2.18+aeb40ebe77
|-- fabric-data-generation-api-v1 12.2.0+6c31357e77
|-- fabric-dimensions-v1 2.1.52+b3afc78b77
|-- fabric-entity-events-v1 1.5.22+b3afc78b77
|-- fabric-events-interaction-v0 0.6.1+e91849a877
|-- fabric-events-lifecycle-v0 0.2.62+df3654b377
|-- fabric-game-rule-api-v1 1.0.38+b04edc7a77
|-- fabric-item-api-v1 2.1.27+b3afc78b77
|-- fabric-item-group-api-v1 4.0.9+132c48c177
|-- fabric-key-binding-api-v1 1.0.36+fb8d95da77
|-- fabric-keybindings-v0 0.2.34+df3654b377
|-- fabric-lifecycle-events-v1 2.2.21+b3afc78b77
|-- fabric-loot-api-v2 1.1.39+b3afc78b77
|-- fabric-loot-tables-v1 1.1.43+9e7660c677
|-- fabric-message-api-v1 5.1.7+3265161977
|-- fabric-mining-level-api-v1 2.1.49+b3afc78b77
|-- fabric-model-loading-api-v1 1.0.1+9386d8a777
|-- fabric-models-v0 0.4.0+9386d8a777
|-- fabric-networking-api-v1 1.3.9+b3afc78b77
|-- fabric-networking-v0 0.3.49+df3654b377
|-- fabric-object-builder-api-v1 11.1.1+6beca84877
|-- fabric-particles-v1 1.1.1+201a23a077
|-- fabric-recipe-api-v1 1.0.19+b3afc78b77
|-- fabric-registry-sync-v0 2.3.0+2e061fd477
|-- fabric-renderer-api-v1 3.1.1+9386d8a777
|-- fabric-renderer-indigo 1.4.1+9172968c77
|-- fabric-renderer-registries-v1 3.2.45+df3654b377
|-- fabric-rendering-data-attachment-v1 0.3.34+b3afc78b77
|-- fabric-rendering-fluids-v1 3.0.27+b3afc78b77
|-- fabric-rendering-v0 1.1.48+df3654b377
|-- fabric-rendering-v1 3.0.7+b3afc78b77
|-- fabric-resource-conditions-api-v1 2.3.5+ea08f9d877
|-- fabric-resource-loader-v0 0.11.9+132c48c177
|-- fabric-screen-api-v1 2.0.7+b3afc78b77
|-- fabric-screen-handler-api-v1 1.3.28+b3afc78b77
|-- fabric-sound-api-v1 1.0.12+b3afc78b77
|-- fabric-transfer-api-v1 3.3.0+cdf060b277
\-- fabric-transitive-access-wideners-v1 4.3.0+6c31357e77
- fabricloader 0.14.21
- gunpowder 1.0.2
\-- server_translations_api 2.0.0+1.20
\-- packet_tweaker 0.4.0+1.19.4
- inventorysorter 1.9.0-1.20
\-- kyrptconfig 1.5.6-1.20
- inventorytotem 3.0
- java 17
- lithium 0.11.2
- minecraft 1.20.1
- nametagtweaks 3.0
- polymer-bundled 0.5.5+1.20.1
|-- polymer-autohost 0.5.5+1.20.1
|-- polymer-blocks 0.5.5+1.20.1
|-- polymer-common 0.5.5+1.20.1
| \-- packet_tweaker 0.4.0+1.19.4
|-- polymer-core 0.5.5+1.20.1
| |-- polymer-networking 0.5.5+1.20.1
| | \-- polymer-common 0.5.5+1.20.1
| | \-- packet_tweaker 0.4.0+1.19.4
| \-- polymer-registry-sync-manipulator 0.5.5+1.20.1
|-- polymer-resource-pack 0.5.5+1.20.1
| \-- polymer-common 0.5.5+1.20.1
| \-- packet_tweaker 0.4.0+1.19.4
\-- polymer-virtual-entity 0.5.5+1.20.1
\-- polymer-common 0.5.5+1.20.1
\-- packet_tweaker 0.4.0+1.19.4
- ultris_mr 5.6.9b
- villagernames 5.2
- waystones 14.0.1
- youritemsaresafe 3.4
Switch your fabric api to 0.85.0+1.20.1, the last 1.20.1 full release. I had the same problem, and when looking on the discord, I saw that a person using the newer fabric api developed the problem. So I tried this version, and it works.
Switch your fabric api to 0.85.0+1.20.1
Seems to have done the trick for now - thanks for the suggestion
Thanks for the report and the solution :)
I added some code for additional logging (and handling), that might help me to determine what exactly went wrong in those cases in the future.
There are quite some breaking changes in 0.86 which need some more extensive work.
Unfortunatley I do not have the time to implement those changes before August (and I am not sure if they are related).
So for the Moment, the BetterX Mods will be flagged as incompatible with FAPI 0.86.
I also started to gather some info about other issues with 0.86 here: https://github.com/orgs/FabricMC/discussions/3214
Workaround suggested by @HelpMehh doesn't work for me. I'm using FAPI 0.85 because of the incompatibility flag and the error occurred. Tested with FAPI 0.85 + BCLib 3.0.12 + BetterEnd 4.0.9 and with FAPI 0.85 + BCLib 3.0.11 + BetterEnd 4.0.8. Not sure why it's happening.
EDIT:
Here's the relevant part of the log. (also on mclogs)
[17:18:30] [Server thread/ERROR]: Error executing task on Chunk source main thread executor for minecraft:the_end
net.minecraft.class_148: Feature placement
at net.minecraft.class_3898.method_39934(class_3898.java:699) ~[client-intermediary.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[client-intermediary.jar:?]
at net.minecraft.class_3215$class_4212.method_18859(class_3215.java:564) ~[client-intermediary.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[client-intermediary.jar:?]
at net.minecraft.class_3215$class_4212.method_16075(class_3215.java:573) ~[client-intermediary.jar:?]
at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[client-intermediary.jar:?]
at net.minecraft.class_3215.method_12121(class_3215.java:140) ~[client-intermediary.jar:?]
at net.minecraft.class_1937.method_8402(class_1937.java:204) ~[client-intermediary.jar:?]
at net.minecraft.class_2881.method_12533(class_2881.java:389) ~[client-intermediary.jar:?]
at net.minecraft.class_2881.method_12538(class_2881.java:231) ~[client-intermediary.jar:?]
at net.minecraft.class_3218.method_18765(class_3218.java:350) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824) ~[client-intermediary.jar:?]
at net.minecraft.class_1132.method_3748(class_1132.java:105) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[client-intermediary.jar:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassCastException: class org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome cannot be cast to class org.betterx.betterend.world.biome.cave.EndCaveBiome (org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome and org.betterx.betterend.world.biome.cave.EndCaveBiome are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @3c0f93f1)
at org.betterx.betterend.world.features.terrain.caves.EndCaveFeature.method_13151(EndCaveFeature.java:86) ~[better-end-4.0.8.jar:?]
at net.minecraft.class_3031.method_40163(class_3031.java:166) ~[client-intermediary.jar:?]
at net.minecraft.class_2975.method_12862(class_2975.java:28) ~[client-intermediary.jar:?]
at net.minecraft.class_6796.method_39646(class_6796.java:54) ~[client-intermediary.jar:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411) ~[?:?]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) ~[?:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) ~[?:?]
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
at net.minecraft.class_6796.method_39648(class_6796.java:53) ~[client-intermediary.jar:?]
at net.minecraft.class_6796.method_39650(class_6796.java:42) ~[client-intermediary.jar:?]
at net.minecraft.class_2794.method_12102(class_2794.java:357) ~[client-intermediary.jar:?]
at net.minecraft.class_2806.method_51375(class_2806.java:108) ~[client-intermediary.jar:?]
at net.minecraft.class_2806$class_3768.doWork(class_2806.java:309) ~[client-intermediary.jar:?]
at net.minecraft.class_2806.method_12154(class_2806.java:252) ~[client-intermediary.jar:?]
at net.minecraft.class_3898.method_17225(class_3898.java:684) ~[client-intermediary.jar:?]
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar:?]
at net.minecraft.class_3898.method_17224(class_3898.java:673) ~[client-intermediary.jar:?]
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.class_3900.method_17634(class_3900.java:62) ~[client-intermediary.jar:?]
at net.minecraft.class_3846.method_16907(class_3846.java:91) ~[client-intermediary.jar:?]
at net.minecraft.class_3846.method_16900(class_3846.java:146) ~[client-intermediary.jar:?]
at net.minecraft.class_3846.run(class_3846.java:102) ~[client-intermediary.jar:?]
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) ~[?:?]
EDIT 2: I've been messing around with the mod and it seems that Minecraft crashes if I try and teleport into the End (with something like /execute in minecraft:the_end run tp yGlobalista 0 100 0) but it doesn't if I use the portal. However, depending on the seed, as soon as I enter a Gateway, it may crash if I generate a chunk with one of the problematic cave biomes. I managed to actually enter and generate a few chunks before a crash using the very first version of BetterEnd and BCLib for MC 1.20.1, generating a world then upgrading it to the latest version. It then crashed when I tried exploring. The same world, created with the latest version, would crash as soon as I traveled through the Gateway.