Difference between revisions of "About.xml"

From RimWorld Wiki
Jump to navigation Jump to search
(Added PackageID formats)
m (→‎Tags: Fixed the stupid comment error. Now proper comments)
Line 8: Line 8:
 
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.
 
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.
  
T
 
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
Line 14: Line 13:
 
<ModMetaData>
 
<ModMetaData>
 
<name>Example Mod</name>
 
<name>Example Mod</name>
// The name of the mod
+
<!-- The name of the mod -->
 
<author>Mod Author</author>
 
<author>Mod Author</author>
// The mod author name, usually set to your Steam/Forum name.
+
<!-- The mod author name, usually set to your Steam/Forum name -->
 
<url>www.anything.com</url>
 
<url>www.anything.com</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.
+
<!-- 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. -->
 
<packageId>AuthorName.ModName/ModSeries.ModName/AuthorName.ModSeries.ModName</packageId>
 
<packageId>AuthorName.ModName/ModSeries.ModName/AuthorName.ModSeries.ModName</packageId>
// Added in 1.0. Please make it human readable. Avoid acronyms where possible.
+
<!-- Added in 1.0. Please make it human readable. Avoid acronyms where possible. -->
<supportedVersions>
+
<supportedVersions>
 
<li>0.0</li>
 
<li>0.0</li>
 
<li>0.1</li>
 
<li>0.1</li>
 
</supportedVersions>
 
</supportedVersions>
// Supported version lists which versions of Rimworld your mod is compatible with. If your mod doesn't break across versions, lists them all here.
+
<!-- Supported version lists which versions of Rimworld your mod is compatible with. If your mod doesn't break across versions, lists them all here. -->
 
<modDependencies>
 
<modDependencies>
 
    <li>
 
    <li>
Line 47: Line 46:
 
Sample description
 
Sample description
 
</description>
 
</description>
// Describes your mod, can be multiple lines long.
+
<!-- Describes your mod, can be multiple lines long. -->
 
<loadAfter>
 
<loadAfter>
 
<li>Ludeon.RimWorld</li>
 
<li>Ludeon.RimWorld</li>
 
<li>Ludeon.RimWorld.Royalty</li>
 
<li>Ludeon.RimWorld.Royalty</li>
 
</loadAfter>
 
</loadAfter>
// Lists the mods which should be loaded before your mod. Helps ensure your dependencies are loaded in first.
+
<!-- Lists the mods which should be loaded before your mod. Helps ensure your dependencies are loaded in first. -->
 
</ModMetaData>
 
</ModMetaData>
  
 
</pre>
 
</pre>
 +
 
== Deprecated Parts ==
 
== Deprecated Parts ==
 
<targetVersion> has been replaced by <supportedVersions>. Use is as follows :
 
<targetVersion> has been replaced by <supportedVersions>. Use is as follows :

Revision as of 02:38, 18 March 2020

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>
	<!-- The name of the mod -->
	<author>Mod Author</author>
	<!-- The mod author name, usually set to your Steam/Forum name -->
	<url>www.anything.com</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. -->
	<packageId>AuthorName.ModName/ModSeries.ModName/AuthorName.ModSeries.ModName</packageId>
	<!-- Added in 1.0. Please make it human readable. Avoid acronyms where possible. -->
	 <supportedVersions>
		<li>0.0</li>
		<li>0.1</li>
	</supportedVersions>
	<!-- Supported version lists which versions of Rimworld your mod is compatible with. If your mod doesn't break across versions, lists them all here. -->
	<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>
	Sample description
	</description>
	<!-- Describes your mod, can be multiple lines long. -->
	<loadAfter>
		<li>Ludeon.RimWorld</li>
		<li>Ludeon.RimWorld.Royalty</li>
	</loadAfter>
	<!-- Lists the mods which should be loaded before your mod. Helps ensure your dependencies are loaded in first. -->
</ModMetaData>

Deprecated Parts

<targetVersion> has been replaced by <supportedVersions>. Use is as follows :

	<supportedVersions>
		<li>1.0</li>
	</supportedVersions>

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)

  • <?xml version="1.0" encoding="utf-8"?> - MUST be included exactly like this, explains to the program how the data should be interpreted.
  • 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.