minetest / minetest

Luanti (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation
https://www.minetest.net/
Other
10.87k stars 2.04k forks source link

Third-party mod is enabled rather than using mod in base game #13350

Open rubenwardy opened 1 year ago

rubenwardy commented 1 year ago
Minetest version
5.7.0-dev-baf99f826c6e35519f68b666c27af6953f295159

baf99f826c6e35519f68b666c27af6953f295159

Summary
Steps to reproduce
rubenwardy commented 1 year ago

Can confirm using the example given, but can't confirm using an minimal reproducible example

Kimapr commented 1 year ago

MineClone2 has its own custom version of Mesecons (for redstone), so loading the original on top is going to break things

despite the dependencies existing in Mineclone2

This is false. Most parts of Mesecons depend on default, which is not present in MineClone2.

rubenwardy commented 1 year ago

MineClone2 has its own custom version of Mesecons (for redstone), so loading the original on top is going to break things

That's the bug here, original mesecons shouldn't be automatically enabled

This is false. Most parts of Mesecons depend on default, which is not present in MineClone2.

mcl_level_status_indicator only depends on mesecons_walllever, which is present in MineClone 2

Kimapr commented 1 year ago

Nevermind, i was confused. The bug seems to be that mods in nested modpacks are not visible to the main menu, and so aren't included in its dependency resolution. With this mod structure:

game
└─ <modpack>
   └─ <modpack>
      └─ A

mods
├─ B (depends on A)
└─ <modpack>
   └─ A (depends on default)

enabling B will ignore A in game and enable broken A from user mods instead.