Page 1 of 1

[1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 12:17 pm
by Zaflis
1) The mods list lets me click "Confirm" to restart game even if there are conflicting mods enabled. It will even load all the way to main menu as long as there aren't LUA errors. There was this specific notice in the main menu by SE but i assume it's specific to SE and wouldn't show otherwise:
Image

2) When i enable a mod that has conflicts, it doesn't disable them if they were enabled.

Re: [1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 12:34 pm
by Xorimuth
Space Exploration isn’t loaded in this scenario, because it has a conflict with bobpower. Space Exploration Postprocess is loaded, and makes the message appear because it can detect that bobpower is enabled and SE isn’t. I don’t think this is a bug.

Re: [1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 12:42 pm
by Zaflis
Xorimuth wrote:
Fri Dec 16, 2022 12:34 pm
Space Exploration isn’t loaded in this scenario, because it has a conflict with bobpower. Space Exploration Postprocess is loaded, and makes the message appear because it can detect that bobpower is enabled and SE isn’t. I don’t think this is a bug.
The bug report isn't about SE but mods in general. What does marking mods as conflict count for if you can just play normally with everything enabled?

Re: [1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 1:39 pm
by Xorimuth
Zaflis wrote:
Fri Dec 16, 2022 12:42 pm
Xorimuth wrote:
Fri Dec 16, 2022 12:34 pm
Space Exploration isn’t loaded in this scenario, because it has a conflict with bobpower. Space Exploration Postprocess is loaded, and makes the message appear because it can detect that bobpower is enabled and SE isn’t. I don’t think this is a bug.
The bug report isn't about SE but mods in general. What does marking mods as conflict count for if you can just play normally with everything enabled?
If mod A lists a conflict with mod B, and you check both of them in the mod list, then restart the game, mod B will be loaded and mod A won't be. In the mod list, both will be checked, but mod A's name will be in red indicating it wasn't loaded due to a conflict.

Re: [1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 1:52 pm
by Zaflis
Xorimuth wrote:
Fri Dec 16, 2022 1:39 pm
Zaflis wrote:
Fri Dec 16, 2022 12:42 pm
Xorimuth wrote:
Fri Dec 16, 2022 12:34 pm
Space Exploration isn’t loaded in this scenario, because it has a conflict with bobpower. Space Exploration Postprocess is loaded, and makes the message appear because it can detect that bobpower is enabled and SE isn’t. I don’t think this is a bug.
The bug report isn't about SE but mods in general. What does marking mods as conflict count for if you can just play normally with everything enabled?
If mod A lists a conflict with mod B, and you check both of them in the mod list, then restart the game, mod B will be loaded and mod A won't be. In the mod list, both will be checked, but mod A's name will be in red indicating it wasn't loaded due to a conflict.
As far as i understand, mods don't have access to list of installed mods. Only way SE can check if Bob's Power is installed if its LUA has actually run. And if that's true then what you said is not correct about red mods not being loaded. I think the lua does something like
bobpower=true
Haven't checked exact syntaxes but doesn't matter, mods use if clauses like "if bobpower..." to know if mod is enabled or not. It must be fully active for that check to pass.

Re: [1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 1:54 pm
by Rseding91
Mods can add incompatible dependencies to force themselves to be disabled if other mods are installed. It's up to the mod author to do this. In this case the SE author chose not to and instead give this error.

You need to talk to the SE mod author if you want this changed. From the game engine perspective everything has told it it's fine to have this combo of mods installed.

Re: [1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 2:17 pm
by Xorimuth
Zaflis wrote:
Fri Dec 16, 2022 1:52 pm
Xorimuth wrote:
Fri Dec 16, 2022 1:39 pm
Zaflis wrote:
Fri Dec 16, 2022 12:42 pm
Xorimuth wrote:
Fri Dec 16, 2022 12:34 pm
Space Exploration isn’t loaded in this scenario, because it has a conflict with bobpower. Space Exploration Postprocess is loaded, and makes the message appear because it can detect that bobpower is enabled and SE isn’t. I don’t think this is a bug.
The bug report isn't about SE but mods in general. What does marking mods as conflict count for if you can just play normally with everything enabled?
If mod A lists a conflict with mod B, and you check both of them in the mod list, then restart the game, mod B will be loaded and mod A won't be. In the mod list, both will be checked, but mod A's name will be in red indicating it wasn't loaded due to a conflict.
As far as i understand, mods don't have access to list of installed mods. Only way SE can check if Bob's Power is installed if its LUA has actually run. And if that's true then what you said is not correct about red mods not being loaded. I think the lua does something like
bobpower=true
Haven't checked exact syntaxes but doesn't matter, mods use if clauses like "if bobpower..." to know if mod is enabled or not. It must be fully active for that check to pass.
As I said in my first post, SE isn't loaded in your example, because it has a listed incompatibility with Bob's Power. SE Postprocess is a completely separate mod, which doesn't have a listed incompatibility with Bob's Power so it is loaded. SE Postprocess sees that Bob's Power is loaded but SE isn't, and it knows that Bob's Power is incompatible with SE, so it gives this very helpful error telling the user exactly why SE wasn't loaded.

Re: [1.1.72] Mods menu allows confirm with conflicts

Posted: Fri Dec 16, 2022 5:07 pm
by Deadlock989
Zaflis wrote:
Fri Dec 16, 2022 1:52 pm
As far as i understand, mods don't have access to list of installed mods. Only way SE can check if Bob's Power is installed if its LUA has actually run.
No, that is not correct. In the data stage any mod can read a prepopulated table called "mods" where the keys of the table are the names of every installed and active mod, and the values are the version numbers of each mod. See https://lua-api.factorio.com/latest/Data-Lifecycle.html