Concurrent Chunk Management Engine (Fabric)

Concurrent Chunk Management Engine (Fabric)

231k Downloads

Villager AI is broken by C2ME

craftycorvid opened this issue ยท 11 comments

commented

I've been running C2ME since 1.17 came out to help with server performance. A player on my server reported this issue with villagers refusing to breed despite having inventories full of food. I went mod-by-mod checking the behavior and found C2ME to the culprit.

I've noticed several Villager AI behaviors that are affected:

  • Villagers won't path to pick up food that isn't throw directly on their block
  • Farmers won't gather crops
  • Villagers will not breed
  • Villagers won't move for long periods of time
  • Villager to Villager trading exhibits odd behavior, such as 2 villagers trading carrots back and forth

I'm happy to provide any logs or extra info. Thanks for all the work you put into this mod!

commented

Can you try reproduce after using different combinations of features enabled in c2me.toml? That would help narrow down where the issue is.

commented

Hello,
First thanks for your report.
I have 2 questions:

  • Was the world existing before 1.17 or is it a brand new one ?
  • Does removing the mod fix the issue or is it "permanent" ?

Have a nice day.

commented

The world was generated on 1.15 and has been run through the optimizer on 1.16 and 1.17.

Removing C2ME reverts villagers to their correct behavior .

commented

Thank you :)
Now we have to wait Ishland's come back for a fix.

commented

What about removing mixins with chunkscheduling keyword? You can remove it in c2me.mixins.json inside C2ME jar.

commented

I reverted back to the default config file, and edited the jar as you said. No difference, Villager AI is still broken.

commented

The villager AI appears to be broken under all cases that C2ME is loaded. The original bug report was with the default config, I tested asyncIO disabled, threadedWorldGen disabled and both disabled. None of it fixed the issued.

The only way to have villagers behave correctly is to completely remove the C2ME jar from the mods folder.

commented

I'll look into this ASAP after I go back from work.

commented

The issue seems to be caused by your custom implementation of WeightedList. You are creating, shuffling and returning a new instance of the list, but the return value is never used by the game (see net.minecraft.entity.ai.brain.task.CompositeTask.Order)

commented

The latest build immediately crashes my server. I attached the logs

_minecraft_logs(2).txt

commented

That appears to fix the issue!