Difference between revisions of "About.xml"

From RimWorld Wiki
Jump to navigation Jump to search
(New way to display data)
(Updated to include all possible tags, with descriptions.)
Line 59: Line 59:
 
! Tag !! Explaination
 
! Tag !! Explaination
 
|-
 
|-
| Name || The name of the mod.
+
| name || The name of the mod.
 
|-
 
|-
| Author || The mod author names, usually set to your Steam/Forum name.
+
| author || The mod author names, usually set to your Steam/Forum name. Can be a list separated by " and " or by commas.
 
|-
 
|-
| URL || A URL to be displayed on your mod info page(if available). Can be set to link to anything. Most link it to their Github/Workshop page/forum post.
+
| authors || An alternative way to input multiple author names. Formatted as a standard list of strings, using <li> nodes.
 
|-
 
|-
| Package ID || Added in 1.0. Please make it human readable. Avoid acronyms where possible. Normally qualifiers seperated by periods.
+
| packageId || Added in 1.0. Please make it human readable. Avoid acronyms where possible. Normally qualifiers separated by periods.
 
|-
 
|-
| supportedVersion || Supported version lists which versions of Rimworld your mod is compatible with. If your mod doesn't break across versions, lists them all here.
+
| url || A URL to be displayed on your mod info page(if available). Can be set to link to anything. Most link it to their Github/Workshop page/forum post.
 
|-
 
|-
| Description || Describes your mod, can be multiple lines long. Whitespace sensative.
+
| supportedVersions || Lists which versions of Rimworld your mod is compatible with. If your mod doesn't break across versions, list them all here.
 
|-
 
|-
| modDependencies || List of other mods which your mod requires to function.
+
| description || Describes your mod, can be multiple lines long. Whitespace sensitive.
 +
|-
 +
| descriptionsByVersion || Same as above, but by version. Directly type description between <v1.3> and </v1.3>, for example.
 +
|-
 +
| modDependencies || List of other mods which your mod requires to function. Format given in the example above.
 
|-
 
|-
 
| modDependenciesByVersion || Same as modDependencies, except it specifies which mod version it needs.
 
| modDependenciesByVersion || Same as modDependencies, except it specifies which mod version it needs.
 
|-
 
|-
| loadAfter || Lists the mods which should be loaded before your mod. Helps ensure your dependencies are loaded in first.
+
| loadBefore || Lists of packageIds of the mods which should be loaded after your mod. Helps ensure your mod is loaded before another.
 +
|-
 +
| loadBeforeByVersion || Same as above, but by version.
 +
|-
 +
| loadAfter || Lists of packageIds of the mods which should be loaded before your mod. Helps ensure your dependencies are loaded in first.
 +
|-
 +
| loadAfterByVersion || Same as above, but by version.
 
|-
 
|-
 
| incompatibleWith || List of packageIds of any mods which are incompatible with your mod.
 
| incompatibleWith || List of packageIds of any mods which are incompatible with your mod.
 +
|-
 +
| incompatibleWithByVersion || Same as above, but by version.
 
|}
 
|}
 +
 +
== Notes ==
 +
* If <author> and <authors> are both defined, then the list in <authors> will be appended to the end of the list given in <author>.
 +
* The matching description in <descriptionsByVersion> will take priority over <description>, otherwise <description> will be used by default. The same applies to all other "ByVersion" alternatives.
  
 
== Questions ==
 
== Questions ==

Revision as of 06:17, 27 October 2021

This article is supposed to explain what tags are available in the About.xml file & what the tags do & how you should use them. The exact format of the article is still under development, please help.

(Yes, I'm aware that I'm not writing this as objectively as an article should be (sorry), but I feel I need to explain what this article should aim towards, please DON'T just delete it! )

Tags

These are the tags I have found in various mods I have downloaded, but I don't understand all of them, i'm not sure if all of them even CAN be combined with each other & therefore I need help from more experienced developers.

<?xml version="1.0" encoding="utf-8"?>
<ModMetaData>
    <name>Example Mod</name>
    <author>Mod Author, Contributing Author, Other Folks, etc.</author>
    <url>www.anything.com</url>
    <packageId>AuthorName.ModSeries.ModName</packageId>
    <supportedVersions>
        <li>1.1</li>
        <li>1.2</li>
    </supportedVersions>

    <description>Sample description.
        
Which spans multiple lines. Is also includes whitespace, so unless you want ugly indentation on the workshop, you need to have it un-beautified like this.
    </description>

    <modDependencies>
    <!-- Using hugslib as an example here. -->
        <li>
            <packageId>UnlimitedHugs.HugsLib</packageId>
            <displayName>HugsLib</displayName>
            <downloadUrl>https://github.com/UnlimitedHugs/RimworldHugsLib/releases/latest</downloadUrl>
            <steamWorkshopUrl>steam://url/CommunityFilePage/818773962</steamWorkshopUrl>
        </li>
    </modDependencies>
    <modDependenciesByVersion>
        <v1.1>
            <li>
                <packageId>UnlimitedHugs.HugsLib</packageId>
                <displayName>HugsLib</displayName>
                <steamWorkshopUrl>https://github.com/UnlimitedHugs/RimworldHugsLib/releases/latest</steamWorkshopUrl>
                <downloadUrl>steam://url/CommunityFilePage/818773962</downloadUrl>
            </li>
        </v1.1>
    </modDependenciesByVersion>

    <loadAfter>
        <li>UnlimitedHugs.HugsLib</li>
    </loadAfter>

    <incompatibleWith>
        <li>erdelf.HumanoidAlienRaces</li>
    </incompatibleWith>
</ModMetaData>
Tag Explaination
name The name of the mod.
author The mod author names, usually set to your Steam/Forum name. Can be a list separated by " and " or by commas.
authors An alternative way to input multiple author names. Formatted as a standard list of strings, using
  • nodes.
  • packageId Added in 1.0. Please make it human readable. Avoid acronyms where possible. Normally qualifiers separated by periods.
    url A URL to be displayed on your mod info page(if available). Can be set to link to anything. Most link it to their Github/Workshop page/forum post.
    supportedVersions Lists which versions of Rimworld your mod is compatible with. If your mod doesn't break across versions, list them all here.
    description Describes your mod, can be multiple lines long. Whitespace sensitive.
    descriptionsByVersion Same as above, but by version. Directly type description between <v1.3> and </v1.3>, for example.
    modDependencies List of other mods which your mod requires to function. Format given in the example above.
    modDependenciesByVersion Same as modDependencies, except it specifies which mod version it needs.
    loadBefore Lists of packageIds of the mods which should be loaded after your mod. Helps ensure your mod is loaded before another.
    loadBeforeByVersion Same as above, but by version.
    loadAfter Lists of packageIds of the mods which should be loaded before your mod. Helps ensure your dependencies are loaded in first.
    loadAfterByVersion Same as above, but by version.
    incompatibleWith List of packageIds of any mods which are incompatible with your mod.
    incompatibleWithByVersion Same as above, but by version.

    Notes

    • If <author> and <authors> are both defined, then the list in <authors> will be appended to the end of the list given in <author>.
    • The matching description in <descriptionsByVersion> will take priority over <description>, otherwise <description> will be used by default. The same applies to all other "ByVersion" alternatives.

    Questions

    • <ModMetaData>/<packageId> How is this determined?
    • Are <ModMetaData>/ <modDependencies> & <modDependenciesByVersion> mutually exclusive? or can both be present in the same file?
    • I think there exist some kind of: <ModMetaData>/ <incompatibleWith> / <li> /<packageId> tag, but I haven't seen it in any of my downloaded mods, please add it if you know more about it.