Files
flutter-rimworld-modman/Mod Structure.md
2025-03-15 23:09:23 +01:00

1.7 KiB

Example:

drwxr-xr-x 1 Administrator 197121 0 Mar 15 14:23 .git/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 .github/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 1.0/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 1.1/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 1.2/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 1.3/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 1.4/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 1.5/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 About/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 Languages/
-rw-r--r-- 1 Administrator 197121 1.3K Mar 12 21:06 README.md
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 Sounds/
drwxr-xr-x 1 Administrator 197121 0 Mar 12 21:09 Textures/

The only interesting folder is About Within is About.xml

About.xml is an xml file with the ModMetaData root element Interesting children are:

  • name
  • packageId
    • This is the ID used internally for identification
  • author
  • url
    • Seems to be author given custom bullshit, nothing structured
  • supportedVersions
    • This one is interesting to us
  • modDependencies
    • This one is also very interesting to us
  • loadAfter
    • These are like "soft" dependencies
    • Load after if they exist
  • incompatibleWith
    • Inverse dependencies, exclusions
  • description
    • Markdown description of a mod, could be handy...
  • modVersion
    • Do we care?

In addition to About.xml preview.png might also be interesting

To enable or disable mods we look at ~/AppData/.../Rimworld/Config/ModsConfig.xml The structure of this xml is:

  • ModsConfigData
    • As the root element
    • activeMods
      • A list of active mods referencing packageId
      • Simple <li>
      • Ordered by loading order