Concurrent Chunk Management Engine (Fabric)

Concurrent Chunk Management Engine (Fabric)

231k Downloads

Conflict's with wilder wilds

PixelSymbols opened this issue · 4 comments

commented

Describe the bug
Crashes cuz of net.frozenblock.wilderwild.block.HangingTendrilBlock

To Reproduce
Steps to reproduce the behavior:

  1. install wilder wilds
  2. install c2me
  3. install chunky
  4. run chunky like for 512c, and it will crash at some point before it reach 512c

Expected behavior
not to crash

Screenshots
image

Runtime info (please complete the following information):

  • OS: windows
  • Minecraft version: 1.20.4 fabric
  • Mod version: 0.2.0+alpha.11.58 devbuild for 1.20.4

Crash reports / logs
https://pastebin.com/8ERuRfn1

Other mods
https://pastebin.com/4hEnz1rd

Checklist

  • I am using the official version of the mod.
  • I tried the latest development version but the issue persists.
  • I searched for similar open issues and could not find an existing bug report on this.

Additional context
i made issue to wilder wilds, they said to check without c2me, i did, it didnt crash, they said to make issue here 🤷
issue: FrozenBlock/WilderWild#358

commented

Accessing world random on another thread isn't safe in vanilla as well and dropping experience on worldgen thread triggers that. This will eventually lead to Accessing LegacyRandomSource from multiple threads crash in vanilla.
C2ME enforces this check to make sure that it doesn't end up in confusing crashes as the possibility of triggering this is much higher when the world generation is faster.

This should be fixed on their side.

commented

This should be fixed on their side.

This issue directly conflicts with a feature of our mod, a block that stores XP. How should we fix this?
Is there a way to actually tell when the world is still generating from the block's side?
If not, have you considered perhaps fixing it with a mixin to alter the Random being used for XP creation?
Could spare us from a lot of random and unfair crashes.

commented

How should we fix this?

After a bit of investigation and this should be replaced with a scheduled tick:
https://github.com/FrozenBlock/WilderWild/blob/d025fe044244dea6c49a7ffdd81b31067d2bbea1/src/main/java/net/frozenblock/wilderwild/block/HangingTendrilBlock.java#L140
Destroying blocks in this method causes undesirable side effects especially on worldgen threads.

commented

Interesting, huh.
Thanks for letting me know!
I’ll change that once I get home.