• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Cheikar

Sergeant
70 Badges
Sep 14, 2015
54
35
  • Crusader Kings II: Charlemagne
  • Stellaris - Path to Destruction bundle
  • Hearts of Iron IV: Cadet
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Mare Nostrum
  • Rome: Vae Victis
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Supreme Ruler: Cold War
  • Semper Fi
  • Rome Gold
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Hearts of Iron III
  • Darkest Hour
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • For the Motherland
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Victoria 3 Sign Up
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Reapers Due
  • Stellaris: Galaxy Edition
  • Stellaris
  • Cities: Skylines - Snowfall
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Cities: Skylines - After Dark
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
I already posted the results of my experiments in another thread, but I feel that they are potentially useful enough to some modders that it warrants the increased exposure of a new thread.

I ran my tests using a very simple edict mod. I created two mods that were very similar. Test Mod 1 gave you an edict that boosted your physics tile output by 100%. Test Mod 2 gave a similar edict that boosted by 50%. Localisation was slightly different so that the two could be told apart.

Renaming the file names from 00_ to 01_ or 02_ causes no negative effects. In fact, it might be good modding practice to name your files starting with 01_ because doing this makes the game load both the vanilla files and the mod files. Duplicating vanilla file names in your mod causes the game to ignore the vanilla files and load just your mod files. This would cut down on mod file size (a little bit) and also just makes for less hassle because there is no need to copy over the entire contents of the vanilla file into your mod.

I also learned some important info about how Stellaris handles mod load order. It appears that the game will attempt to merge (to the best of its ability) files that have different names but have conflicting content. e.g. with my edicts, keeping the file names different but having the edict names within the files be identical led to the game loading both edicts but only using the localisation for one. So having a higher numbered file name does not, according to my tests with edicts, mean that the higher file number will be loaded after the lower one and any conflicts overwritten.

However, there does appear to be a built in mod load order system in Stellaris. Stellaris seems to load its mods in reverse alphanumeric order, starting at the bottom of the list of selected mods in the launcher and progressing up. That means that my Test Mod 1 would be loaded after my Test Mod 2 because Test Mod 1 appears above Test Mod 2 in the launcher. I tested this by naming the edicts file of both mods the same thing and loading both of them. Test Mod 1 won every time. When I renamed Test Mod 2 to A Test Mod 2 (so that it was higher than Test Mod 1 in the launcher), A Test Mod 2 won.

While not as good as a dedicated mod load order tool that would allow us to specify exactly the order the mods should be loaded in, this is very important and useful information for modders. As a disclaimer, I only tested this with edicts because they were very easy to write. The results could be different and may not apply with other, and especially more complex, features.
 
  • 4
Reactions:
The 00_ 01_ etc designations are basically load orders for those files, so, afaict, it will load e.g. 00_planet_classes and then 01_planet_classes.

What I can't figure out is how to remove stuff without taking the whole 00_ file and editing it.

Edit: and even placing the file didn't actually seem to remove something. In this case, I'd like to remove Crystal Infused/Forged Plating. Any hints about that?
 
The 00_ 01_ etc designations are basically load orders for those files, so, afaict, it will load e.g. 00_planet_classes and then 01_planet_classes.

What I can't figure out is how to remove stuff without taking the whole 00_ file and editing it.

Edit: and even placing the file didn't actually seem to remove something. In this case, I'd like to remove Crystal Infused/Forged Plating. Any hints about that?
I don't think that the 00_, 01_, 02_, designations act as strict load orders. e.g. an identically named edict in files 01_edicts.txt and 02_edicts.txt from two different mods won't just use the version from 02_edicts.txt if both are loaded. I think you are correct in that the game will load files alphanumerically. However, when it has to resolve a conflict, things are not so simple.

As for removing something from vanilla, I believe you would have to copy the vanilla file into your mod file as you are subtracting data rather than overwriting it. In your situation, I would copy 00_utilities.txt in component_templates from vanilla to your mod folder (with the correct path of course). Then, comment out all the relevant sections. That should work, but as I have not tried it myself, no guarantees.
 
I don't think that the 00_, 01_, 02_, designations act as strict load orders. e.g. an identically named edict in files 01_edicts.txt and 02_edicts.txt from two different mods won't just use the version from 02_edicts.txt if both are loaded. I think you are correct in that the game will load files alphanumerically. However, when it has to resolve a conflict, things are not so simple.

As for removing something from vanilla, I believe you would have to copy the vanilla file into your mod file as you are subtracting data rather than overwriting it. In your situation, I would copy 00_utilities.txt in component_templates from vanilla to your mod folder (with the correct path of course). Then, comment out all the relevant sections. That should work, but as I have not tried it myself, no guarantees.

Hmm... I figured removing it from the list of techs would be sufficient...
 
@beckermt I don't know why commenting out the component from 00_utilities wouldn't disable it. I could see it potentially causing problems if the game freaks out when a component that doesn't exist is referenced, but I would hope that PDX has a default case to handle that. But I would still expect commenting out the component to work.

I do believe I have found a very nice solution to your problem however. In your mod, add the line <hidden = yes> (without brackets ofc) to the component template. It should look like below:
Code:
utility_component_template = {
    key = "LARGE_CRYSTAL_ARMOR_2"
    size = large
    icon = "GFX_ship_part_crystal_armor_2"
    icon_frame = 1
    power = 0
    cost = @cost_5L
    hidden = yes
 
    modifier = {
        ship_hitpoints_add = 400
    }
 
    prerequisites = { "tech_crystal_armor_2" }
    component_set = "CRYSTAL_ARMOR_2"
}
Do that for all of the crystal armors.

This should make the component unavailable for both the player and the ai. It doesn't appear to affect critters (as the crystalline elites use the component in their design, so outright removing it would have the side effect of weakening them.) It probably doesn't affect the technology drop from debris research i.e. you can still research the technology. But once you've researched the technology, you wouldn't be able to select it in the ship designer. This should have the desired effect you are looking for, without the side effect of weakening the crystalline elites. Hope this helps.

EDIT: Tested with new game. Making the component hidden as described above will not affect the stats of critters that use the component in their design, e.g. Crystalline Elites. This appears to be a complete solution.
 
Last edited: