Terra (Fabric/Forge/Paper)

Terra (Fabric/Forge/Paper)

74.2k Downloads

Crashes Upon Entering The Nether with BetterNether Mod

bubbaguy1234 opened this issue · 17 comments

commented

When this mod is installed with the BetterNether mod the game will crash upon entering the nether. I can image this is due to the two of them competing for the generation of the nether dimension. Is there a possible workaround for this or something that could be implemented to prevent this mod from doing any changes to the nether dimension? Thanks in advance and this is by far the best terrain generation mod out there.

commented

Windows 10 64bit
Minecraft 1.16.4
Mods:
Fabric API 0.31.0
BetterNether 5.0.4
Terra 5.3.0 BETA shaded-mapped

`---- Minecraft Crash Report ----
// There are four lights!

Time: 5/12/21 2:40 PM
Description: Feature placement

java.lang.ClassCastException: net.minecraft.class_3754 cannot be cast to com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper
at com.dfsek.terra.fabric.generation.PopulatorFeature.generate(PopulatorFeature.java:25)
at com.dfsek.terra.fabric.generation.PopulatorFeature.method_13151(PopulatorFeature.java:18)
at net.minecraft.class_2975.method_12862(class_2975.java:55)
at net.minecraft.class_2988.method_30384(class_2988.java:23)
at net.minecraft.class_2988$$Lambda$4871/799724854.accept(Unknown Source)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at net.minecraft.class_2988.method_12892(class_2988.java:22)
at net.minecraft.class_2988.method_13151(class_2988.java:14)
at net.minecraft.class_2975.method_12862(class_2975.java:55)
at net.minecraft.class_1959.method_8702(class_1959.java:373)
at net.minecraft.class_2794.handler$zhk000$customPopulate(class_2794.java:1039)
at net.minecraft.class_2794.method_12102(class_2794.java)
at net.minecraft.class_2806.method_12151(class_2806.java:89)
at net.minecraft.class_2806$$Lambda$1841/1332929420.doWork(Unknown Source)
at net.minecraft.class_2806.method_12154(class_2806.java:219)
at net.minecraft.class_3898.method_17225(class_3898.java:568)
at net.minecraft.class_3898$$Lambda$4780/1974291437.apply(Unknown Source)
at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
at net.minecraft.class_3898.method_17224(class_3898.java:562)
at net.minecraft.class_3898$$Lambda$4777/1794531578.apply(Unknown Source)
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
at net.minecraft.class_3900.method_17634(class_3900.java:58)
at net.minecraft.class_3900$$Lambda$4721/1593539047.run(Unknown Source)
at net.minecraft.class_3846.method_16907(class_3846.java:94)
at net.minecraft.class_3846.method_16900(class_3846.java:137)
at net.minecraft.class_3846.run(class_3846.java:105)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Server thread
Stacktrace:
at com.dfsek.terra.fabric.generation.PopulatorFeature.generate(PopulatorFeature.java:25)
at com.dfsek.terra.fabric.generation.PopulatorFeature.method_13151(PopulatorFeature.java:18)
at net.minecraft.class_2975.method_12862(class_2975.java:55)
at net.minecraft.class_2988.method_30384(class_2988.java:23)
at net.minecraft.class_2988$$Lambda$4871/799724854.accept(Unknown Source)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:419)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at net.minecraft.class_2988.method_12892(class_2988.java:22)
at net.minecraft.class_2988.method_13151(class_2988.java:14)
at net.minecraft.class_2975.method_12862(class_2975.java:55)

-- Feature --
Details:
Id: minecraft:decorated
Config: < class_2986 [terra:flora_populator | [minecraft:nope net.minecraft.class_3113@30ab5029]] >
Description: < class_2988 [minecraft:decorated] >
Stacktrace:
at net.minecraft.class_1959.method_8702(class_1959.java:373)

-- Generation --
Details:
CenterX: 2
CenterZ: -1
Seed: -3651862908279395871
Biome: net.minecraft.class_1959@6076d6d4
Stacktrace:
at net.minecraft.class_2794.handler$zhk000$customPopulate(class_2794.java:1039)
at net.minecraft.class_2794.method_12102(class_2794.java)
at net.minecraft.class_2806.method_12151(class_2806.java:89)
at net.minecraft.class_2806$$Lambda$1841/1332929420.doWork(Unknown Source)
at net.minecraft.class_2806.method_12154(class_2806.java:219)

-- Chunk to be generated --
Details:
Location: 2,-1
Position hash: -4294967294
Generator: net.minecraft.class_3754@25be5b0d
Stacktrace:
at net.minecraft.class_3898.method_17225(class_3898.java:568)
at net.minecraft.class_3898$$Lambda$4780/1974291437.apply(Unknown Source)
at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
at net.minecraft.class_3898.method_17224(class_3898.java:562)
at net.minecraft.class_3898$$Lambda$4777/1794531578.apply(Unknown Source)
at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)

-- Player being ticked --
Details:
Entity Type: minecraft:player (net.minecraft.class_3222)
Entity ID: 125
Entity Name: Bubbaguy1234
Entity's Exact location: 259.91, 64.17, -30.26
Entity's Block location: World: (259,64,-31), Chunk: (at 3,4,1 in 16,-2; contains blocks 256,0,-32 to 271,255,-17), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
Entity's Momentum: 0.00, 0.08, 0.00
Entity's Passengers: []
Entity's Vehicle: ERROR NullPointerException: null
Stacktrace:
at net.minecraft.class_3222.method_14226(class_3222.java:494)
at net.minecraft.class_3244.method_18784(class_3244.java:219)
at net.minecraft.class_2535.method_10754(class_2535.java:232)
at net.minecraft.class_3242.method_14357(class_3242.java:173)
at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:882)
at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:811)
at net.minecraft.class_1132.method_3748(class_1132.java:91)
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:670)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
at net.minecraft.server.MinecraftServer$$Lambda$4616/1507954859.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)

-- System Details --
Details:
Minecraft Version: 1.16.4
Minecraft Version ID: 1.16.4
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 969774624 bytes (924 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB)
CPUs: 8
JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Fabric Mods:
betternether: Better Nether 5.0.4
fabric: Fabric API 0.31.0+1.16
fabric-api-base: Fabric API Base 0.2.1+9354966b7d
fabric-biome-api-v1: Fabric Biome API (v1) 3.1.1+ca58154a7d
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+ca58154a7d
fabric-command-api-v1: Fabric Command API (v1) 1.1.0+f9b3753b7d
fabric-commands-v0: Fabric Commands (v0) 0.2.2+ca58154a7d
fabric-containers-v0: Fabric Containers (v0) 0.1.11+9354966b7d
fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.1+ca58154a7d
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.3+ca58154a7d
fabric-dimensions-v1: fabric-dimensions-v1 2.0.6+9354966b7d
fabric-entity-events-v1: Fabric Entity Events (v1) 1.0.3+ca58154a7d
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.2+ca58154a7d
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+ca58154a7d
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+ca58154a7d
fabric-item-api-v1: Fabric Item API (v1) 1.2.1+ca58154a7d
fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.3+ca58154a7d
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+9354966b7d
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.1+ca58154a7d
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.1+ca58154a7d
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.2+ca58154a7d
fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+ca58154a7d
fabric-models-v0: Fabric Models (v0) 0.2.1+ca58154a7d
fabric-networking-api-v1: Fabric Networking API (v1) 1.0.1+ca58154a7d
fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.8+ca58154a7d
fabric-networking-v0: Fabric Networking (v0) 0.3.2+ca58154a7d
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.4+9354966b7d
fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.2+ca58154a7d
fabric-particles-v1: Fabric Particles (v1) 0.2.4+ca58154a7d
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.4+ca58154a7d
fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.1+ca58154a7d
fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.4+ca58154a7d
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.1+ca58154a7d
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+ca58154a7d
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+ca58154a7d
fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+ca58154a7d
fabric-rendering-v1: Fabric Rendering (v1) 1.5.1+ca58154a7d
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.2+ca58154a7d
fabric-screen-api-v1: Fabric Screen API (v1) 1.0.0+c045166c7d
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.5+9354966b7d
fabric-structure-api-v1: Fabric Structure API (v1) 1.1.4+ca58154a7d
fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.1+ca58154a7d
fabric-textures-v0: Fabric Textures (v0) 1.0.6+ca58154a7d
fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.6+ca58154a7d
fabricloader: Fabric Loader 0.11.2
java: Java HotSpot(TM) 64-Bit Server VM 8
minecraft: Minecraft 1.16.4
terra: Terra 5.3.0-BETA+fd48f5f1
Player Count: 1 / 8; [class_3222['Bubbaguy1234'/125, l='ServerLevel[New World]', x=259.91, y=64.17, z=-30.26]]
Data Packs: vanilla, Fabric Mods
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fabric'`

For some extra context, the game runs just fine right until you go through the portal. The world type is terra default and all of that generates fine. The game crashed during the loading world screen or whatever it is when you go through the portal. Any idea as to the cause?

commented

Fabric Loader 0.11.2

commented

Looks like for some reason BetterNether is using our PopulatorFeature in the nether. In 5.3.1 and above, this will simply fail silently rather than crash. Update your Terra version.

commented

Okay will give it a try, thanks a lot man.

commented

I've deleted the nether pack and set dump-default to false but still no avail
Do I need to somehow update the jar after making these changes because after hopping back in Minecraft I can still create a world with the type Terra:NETHER - Additinoally if it's any help the terra:nether world type works perfectly fine, everything look great aside from of course the betternether biomes.

commented

So this comes with a new issue. There is no crashing upon entering the nether, but the nether is severely messed up.
This happens even when the world type is set to default. Certain biomes in the nether (seemingly only the vanilla ones) generate very weirdly.
image
Here you can see we are in a vanilla soul sand valley and it looks okay but to the right something weird is happening with grass blocks
image
Here in this weird area, the biome is considered a terra biome. The weird part is that some normal Minecraft biomes spawn fine, the better nether biomes spawn fine, but these weird grass-covered terra biomes also spawn
image
Here you can see it's not just soulsand valley
This does not happen with the Terra mod alone and it also does not happen with the better nether mod alone, it has something to do with the two interacting like I think you said.
Is there any way to get around this?

commented

Weirdly enough after some more exploring, it seems like in these biomes the ( soul sand / gravel / soul soil ) has been turned into grass...
image

commented

image
Here the top outcrop is entirely grass however under the lava there is dirt that abruptly changes to gravel. There is no biome change here and in a way, this shows that something is happening where dirt is replacing gravel.

commented

image
But soul sand and does still spawn sometimes....

commented

Last one for the night,
image
Here's a transition between the two

commented

https://github.com/paulevsGitch/BetterNether/blob/1f229eeb50a8c3d8133e333993b7e300b727ef61/src/main/java/paulevs/betternether/registry/BiomesRegistry.java#L139-L158

Looks like BetterNether is just iterating over the biome registry and shoving all the Nether biomes it sees into the Nether, even ones that weren't there before it injected its own. That's something they definitely shouldn't be doing, unless they have a very good reason to be doing it.

commented

Gotcha,
Is there any reasonable way around this even if it’s a hack job. These two mods would go so well together in a world.

commented

Not so much a hack, but just remove the Terra nether pack, so Terra never registers the Nether biomes in the first place.
delete the pack, then disable dump-default in Terra's config.yml

commented

image
Found a solution, betterNether was automatically adding the terra biomes to its biome pool so in the config of betternether the chance of these weird biomes spawning can be set to zero. Hope this helps anyone else who is trying to play with the two of these mods

commented

Send a log. We don't change anything in the Nether. Also provide information about what platform you are on, mod version(s), etc.

commented

BetterNether mod

I think you're on the wrong repo my man

commented

wait nvm, only read half the issue. Brain moment.