Planetary Infrastructure Framework
Planetary Infrastructure Framework (PIF) is a Stellaris modding framework for the planetary infrastructure layer.
PIF is built from vanilla Stellaris 4.3.7 files and is intended to preserve vanilla gameplay behavior. For regular players, this mod should not change the game by itself. Its main purpose is to serve as a dependency and technical foundation for other mods.
While working on Stellaris mods, I often ran into the same problem: even a small balance or compatibility change required overwriting a large vanilla object.
Changing a building cost, job amount, availability condition, pop job weight, or a single modifier often means copying the whole object. When several mods do this, they conflict even if they change completely different parts of the logic.
PIF was created to reduce that problem. It splits large vanilla infrastructure objects into smaller semantic inline scripts and moves meaningful values into scripted variables, so other mods can change only the parts they actually need.
PIF covers: districts, zones, zone_slots, buildings, and pop_jobs.
PIF directly overwrites vanilla planetary infrastructure objects. It is therefore not compatible with mods that directly overwrite the same vanilla objects.
The goal is not to be compatible with every mod that rewrites the same files. The goal is to make mods built on top of PIF conflict with each other much less often.
Affected vanilla files and objects:
https://github.com/RUSBAR-ITS/Stellaris-Mods-PIF/blob/main/docs/AFFECTED_VANILLA_FILES.md
PIF should generally be loaded before mods that depend on it.
GitHub README:
https://github.com/RUSBAR-ITS/Stellaris-Mods-PIF/blob/main/README_EN.md
https://github.com/RUSBAR-ITS/Stellaris-Mods-PIF/blob/main/README_RU.md
Technical documentation:
Districts[github.com] |
Zones[github.com] |
Zone Slots[github.com] |
Buildings[github.com] |
Jobs[github.com] |
Tools[github.com]
I would appreciate reports about bugs, compatibility problems, and any case where PIF unexpectedly changes vanilla behavior.