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 \ - Ordered by loading order