Page 1 of 1

explicit NOT/ONLY operands for mod compatibility declaration

Posted: Sun Apr 29, 2018 3:47 pm
by usafphoenix
My idea is to introduce two new operands to be available for use in info.json of a mod file.
We are able to declare an optional dependency "?" but so far don't have a way to explicitly declare two mods as being incompatible, or NOT-allowed to load together. So i suggest "!" as a way to explicitly declare two mods as incompatible or stating "do not load if both of these are enabled". A new status color can maybe be used to indicate there is a mod enabled that another mod has declared incompatible and to highlight those in the mod-selection window with, say: Blue and Purple colors.

This first option is important because there are many mods out there that have others they are simply not compatible with....will never be compatible with....and have errors that cannot be fixed because they both edit the same files (or in some way interact that breaks the game).

The other idea for an operand is the "ONLY" operand: which is essentially the idea above "!" but instead of listing every mod that exists, it essentially says : "if the mod is not in this list as either a required dependency, or an optional dependency," do not allow them to load together.

Functionally, this second one makes it MUCH easier for someone to create a modpack and distribute it for others to play. The idea being, a modpack would require lots of recipe/technology/and integration tweaking between whatever mods the author(S) decide to do, and any additional mods a player adds could (more frequently than not) either negate the balancing the author has done, alter the concept of the modpack idea, or create scenarios where errors or crashes result.

I think the "ONLY" operand would need a separate (optional) line within the info.json
the formatting of the dependency list would stay the same. With the presence of the "ONLY" operand above, it would limit the mods that could be enabled concurrently with the list of mods in the dependency list. Those listed can still be optional themselves so you could effectively create a modpack that has an explicit list of "these are the only mods that can load, but some of these are optional. Adding mods not in this list will cause the client to close out or cause all the mods to forcefully be disabled."

Re: explicit NOT/ONLY operands for mod compatibility declaration

Posted: Sun Apr 29, 2018 3:55 pm
by Bilka
! already works as a "not-compatible" operand.

Re: explicit NOT/ONLY operands for mod compatibility declaration

Posted: Sun Apr 29, 2018 4:04 pm
by usafphoenix
sorry. info at https://wiki.factorio.com/Tutorial:Modding_FAQ was lacking. it didn't mention the existance of the "!" operand for dependency declarations

where can i find more detailed info? there may already be the functions i need to do what i want, but i'm not sure if i've been looking in the right place

Re: explicit NOT/ONLY operands for mod compatibility declaration

Posted: Sun Apr 29, 2018 5:10 pm
by Bilka
usafphoenix wrote:where can i find more detailed info?
Nowhere, the info.json is not documented.