ChoiceTheorem / ChoiceTheorem-s-overhauled-village

Enhances and creates new villages and pillager outposts, that perfectly fit into your Minecraft world.
https://modrinth.com/mod/ct-overhaul-village
Other
55 stars 11 forks source link

[BUG] [Forge 1.20.1] Lithostitched dependency in mods.toml is only server side when it should be both #217

Open Poopooracoocoo opened 1 month ago

Poopooracoocoo commented 1 month ago

Describe the bug CTOV crashes on Forge when trying to generate a world in singleplayer without Lithostitched

https://github.com/ChoiceTheorem/ChoiceTheorem-s-overhauled-village/blob/master/forge/src/main/resources/META-INF/mods.toml#L53

https://github.com/ChoiceTheorem/ChoiceTheorem-s-overhauled-village/blob/1.20/neoforge/src/main/resources/META-INF/mods.toml

To Reproduce Steps to reproduce the behaviour:

  1. Launch Forge instance with only CTOV
  2. Click on singleplayer

Expected behaviour Change the dependency from side="SERVER" to side="BOTH" so that users are prompted to install it when they are missing the mod.

Mod loader Forge 47.3.10

Minecraft Version 1.20.1

CTOV Version 3.4.9a

Add-ons used (Before 1.20)

Do you install Lithostitched?(1.20+) No

Logs latest.log debug.log crash-2024-09-30_09.04.33-client.txt

Additional context

This is not an issue on Minecraft 1.21 versions for NeoForge such as CTOV 3.5.3a. https://github.com/ChoiceTheorem/ChoiceTheorem-s-overhauled-village/blob/1.21/neoforge/src/main/resources/META-INF/neoforge.mods.toml

While no versions of CTOV have been released for Forge on MC 1.21, it's still a server-sided dependency in the Forge mods.toml on the 1.21 branch. https://github.com/ChoiceTheorem/ChoiceTheorem-s-overhauled-village/blob/1.21/forge/src/main/resources/META-INF/mods.toml

Fealtous commented 1 month ago

To be more specific, this is due to the SERVER dependency marker referring to physical sides, not logical sides. CTOV tends to work alone without Lithostitched, but when other mods are involved it consistently becomes an issue. Marking the dependency properly will solve the issue and allows neo/forge's dependency system to actually alert players when it's missing.