About.xml

From RimWorld Wiki
Jump to navigation Jump to search

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>The name of the mod</name>
	<author>Name of who created this mod</author>
	<url>Unknown (help extend this)</url>
	<targetVersion>Unknown (help extend this)</targetVersion>
	<packageId>Unknown (help extend this)</packageId>
	<supportedVersions>
		<li>0.0</li>
		<li>0.1</li>
		<li>a list of version numbers that show what versions of Rimworld that are compatible with this mod.</li>
		<li>This is mainly what determines if the mod is compatible with Rimworld.</li>
	</supportedVersions>
	<modDependencies>
	    <li>
	      <packageId>Unknown (help extend this)</packageId>
	      <displayName>Unknown (help extend this)</displayName>
	      <downloadUrl>Unknown (help extend this)</downloadUrl>
	      <steamWorkshopUrl>Unknown (help extend this)</steamWorkshopUrl>
	    </li>
	</modDependencies>
	<modDependenciesByVersion>
	    <v1.1>
	      <li>
	        <packageId>Unknown (help extend this)</packageId>
	        <displayName>Unknown (help extend this)</displayName>
	        <steamWorkshopUrl>Unknown (help extend this)</steamWorkshopUrl>
	        <downloadUrl>Unknown (help extend this)</downloadUrl>
	      </li>
	    </v1.1>
	</modDependenciesByVersion>
	<description>
		This is the main description about this mod.
		
		This description can be several lines long.
	</description>
	<loadAfter>
		<li>Ludeon.RimWorld</li>
		<li>Ludeon.RimWorld.Royalty</li>
		<li>this is the packageId name of other mods should be loaded before this mod</li>
	</loadAfter>
</ModMetaData>

Another tag format?

Another way to explain this data might be more similar to a filesystem, like this:

  • ModMetaData/name = The name of the mod (probably better)

or:

  • <ModMetaData>/<author> = Name of who created this mod (bad, because eg: <li> interfere with the Wiki-code)

or: (I really like this format)

  • ModMetaData - A container for all the data that is related to this mod.
    • name - The name of the mod.
    • author - The name of the author.
      • supportedVersions - A container for suported versions.
        • li - A list item containing a version number, like 1.0 or 2.5.3
      • modDependencies - A container for mods that is needed for this nod to function properly.
  • ....

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.