This is much better said than what I was trying to say. I like observation 2, and i think it should be the norm.robot256 wrote: Thu Jan 02, 2025 5:57 am I read this thread and think I can summarize the scenario in question:
- Mod A has "vanilla mode" and "spoil mode".
- Mod A developer does not want to release two mods on the portal, so writes one mod that includes both.
- Mod A cannot enable the spoilage feature flag itself, or vanilla mode would be unavailable to non-DLC players.
- When Mod A is loaded without the feature flag enabled, it uses "vanilla mode" exclusively.
- Mod B does nothing except enable the spoilage feature flag.
- When Mod A and Mod B are loaded together, Mod A will detect the enabled feature flag and use "spoil mode". This allows the use of "spoil mode" without having to enable Space Age itself.
Observation 1: It does not matter to either the user or the Mod A developer which mod enables the spoilage feature flag. There is no technical reason to avoid having 50 different feature flag mods. You could even enable all of them on the same save at once. It just makes mod portal clutter.
Observation 2: Mod A can create a *hidden* setting with its value set based on the feature flag that can easily be read in runtime. Additionally, it can unhide the setting when the feature flag is detected (thanks to Mod B being enabled) and give the user the option to disable spoil mode for that mod even when the flag is enabled. I think this is what curiosity is advocating for.
My issue with observation 1 is the case of Mod C enabling the feature flag for some benign purpose, forcing Mod A to run "spoil mode" even if the user does not want spoil mode enabled. Which I believe is why Observation 2 is the better of the 2.
Additionally, on the note about mod portal clutter, I think it would be better for end users to have an official set of "feature flags mods" for each feature flag so that they can be enabled by the user per-save with no doubt on which one(s) are enabled, and so observation 1 is never crossed and mods can instead check for the official feature flag mod(s)