Allow dependency on core
Posted: Tue Aug 12, 2025 1:37 pm
There have been a few times where I want to depend on a specific Factorio version, whether it's because of an API method that was added or changed, a new prototype type was made, or any other thing that would make backwards compatibility broken.
There have also been a few times where I've made a mod that doesn't rely on the base mod to exist, even though you can't turn it off through normal means.
Naturally, a few times out of a few times I've done both at the same time, and want to depend on a specific Factorio version without having a dependency on the base mod. Why is that a problem? Well, maybe if some extremely ambitious modder makes a mod that disables base entirely and does it's own separate thing, I'd still want my mod to be able to be used. Sure, it's unlikely, but if it does happen, I wouldn't want that mod to instantly be unnecessarily incompatible with mods that don't actually have any incompatibility issues.
The easiest solution (in my opinion)? Allowing mods to depend on core, since that literally can't be technically turned off like base can. No new field in the info.json is required, it's using a system that already exists for this kind of thing, and modders wouldn't have to live in fear of a non-base mod anymore.
It also just feels better to depend on an engine version rather than the content version.
There have also been a few times where I've made a mod that doesn't rely on the base mod to exist, even though you can't turn it off through normal means.
Naturally, a few times out of a few times I've done both at the same time, and want to depend on a specific Factorio version without having a dependency on the base mod. Why is that a problem? Well, maybe if some extremely ambitious modder makes a mod that disables base entirely and does it's own separate thing, I'd still want my mod to be able to be used. Sure, it's unlikely, but if it does happen, I wouldn't want that mod to instantly be unnecessarily incompatible with mods that don't actually have any incompatibility issues.
The easiest solution (in my opinion)? Allowing mods to depend on core, since that literally can't be technically turned off like base can. No new field in the info.json is required, it's using a system that already exists for this kind of thing, and modders wouldn't have to live in fear of a non-base mod anymore.
It also just feels better to depend on an engine version rather than the content version.