Multiple Sculk Tombs / Ancient Sculk Nodes Spawning with C2ME installed.
Closed this issue ยท 2 comments
I launched a test world and checked (0,0) for the Sculk Tomb. Inside, I found 2 tombs - one fully generated, and a second one that looks to have been partially generated and then overwritten by the other one. Due to this, I have 2 Ancient Nodes in my world.
This happened right after I installed C2ME (Concurrent Chuck Management Engine), via Sinytra Connector. It may be an unintended side effect of C2ME's method of generating chunks. This is taken directly from their github page:
"C2ME does not sacrifice vanilla functionality or behavior, or alter the vanilla world generation in the name of raw speed by default. However, due to the non-determinism of vanilla world generation, worlds will vary significantly run-to-run even with the same seed. This is not a bug on our side."
I am using the latest version available for 1.20.1 for all these mods.
latest.log
I tested the same seed with C2ME installed, and it happened again. However, the same seed without C2ME generates normally.
I tested a different seed with C2ME installed, and I once again had 2 Sculk Tombs - one split in half, the other fully generated.
Ahh, multi-threading mods, the bane of my modding career. I will investigate to see if there is any way for me to fix this.
The reason it spawns two is because I use a boolean variable to check whether the tomb has spawned. This works fine on single threaded world generation, but defiantly is causing this issue for multi-threaded world gen. My initial idea is to maybe store in the save data instead if the tomb has been spawned, but I fear a race condition with that. We'll see what works out.