XML Extensions

Mod, 1.2, 1.3, 1.4


Read the wiki at the GitHub page[github.com] to learn more.

Read the change notes for the latest news.

XML Extensions is a framework and modding tool that is focused on extending the general functionality of XML mods. This framework adds many more patch operations, allows for the easy creation of mod settings in XML, and much more.

More Patch OperationsXML Extensions includes ...

Author: Imranfish

Created: 13 Aug, 2021 @ 6:55pm

Updated: 6 Nov, 2022 @ 9:52pm

Subscribers: 272058


Size (unpacked) : 0.521 MB

Read the wiki at the GitHub page[github.com] to learn more.

Read the change notes for the latest news.

XML Extensions is a framework and modding tool that is focused on extending the general functionality of XML mods. This framework adds many more patch operations, allows for the easy creation of mod settings in XML, and much more.

More Patch Operations
XML Extensions includes many new patch operations for modders to use. These operations are much more powerful and dynamic, and allow you to basically do programming in XML; you have access to if-statements, for-loops, mathematical operations, etc.

Create Mod Settings in XML
With XML Extensions, you can easily create mod settings for your mod, all in XML! You may use these settings to toggle patch operations, change values within your patch operations, or use them in C# to do anything else.

Settings for mods using XML Extensions are located next to the regular Mod Settings button.


Enhanced Error Reporting for XML Errors
With XML Extensions active, all XML patch errors will now generate a stack trace as well! This means that you can figure out exactly which patch failed, and in some cases, it will even tell you what part of the patch failed. All you need to do is have XML Extensions activated in your modlist while testing your mod.

Here is an example of a trace for a broken patch (you can easily figure out the error is that the letter "N" should be capital in defName):



The vanilla error message for the exact same patch (only reports the parent patch, not the one that actually failed; no clue as to what went wrong):



In addition, an "Advanced debugging mode" is available which will improve the messages of all XML errors, and will keep track of every Def that gets patched in every patch operation in order to provide you with a list of possibly relevant mods:



Improved Mod Settings UI
A new mod settings menu is added with improved UI. It includes a sidebar with a list of all mods, has a search bar to allow you to search for mods quickly, and has the ability to "pin" mods for quick access.



How to Use
To use this mod as a user, just load this mod after core but before all other mods that depend on it. As a modder, you need to mark this mod as a dependency in Steam Workshop, and include the dependency in your About.xml.

Languages:
  • English
Please contact me if you would like to add a translation.

I am willing to take suggestions for improvements and additions to this framework, and will try to fix any bugs reported.

Join the discord! https://discord.gg/mrrEhHnSQy

Read the wiki at the GitHub page[github.com] to learn more.

Also check out [DN] Custom Tag Maker and PublisherPlus!

How do I download and install mods?

Simply click the blue button above. It will open the file hosting page with the mod repacked by us from the official source.

How do I install this mod?

See the 'How to install' tab.

Is this mod safe to use?

The mods are repacked as is, without any additional software, malware, or bloatware added. To check for viruses, use a reliable antivirus or upload the archive to a website like virustotal.com. Anyway, It's always a good practice to keep backups of your saves in case of mod incompatibility .

There is a folder in the .zip archive. To install the mod, move the entire folder (not just its contents) into 'Mods' folder located under your RimWorld root isntallation folder.
So, for steam version of the game, the path would look like this: C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods
For any other distribution, firstly locate your rimworld installation path and then unpack the archive into the 'Mods' folder.
Then enable the mod in the game mods menu by double clicking on its name and restart the game