RimWorld Mods

XML Extensions Mod

Author of the XML Extensions Mod: Imranfish

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. Read the wiki at the GitHub page to learn more.

XML Extensions Mod features

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 to learn more.


Version 1.5

Older versions:

Leave a Reply

Your email address will not be published. Required fields are marked *

Hm, you're using an ad blocker...

We get it, ads are not what you’re here for. But ads help us keep the lights on. We deliver up-to-date mods, guides and plenty of RimWorld content at no cost to you. So, please, add us to your ad blocker’s whitelist to continue browsing the RimWorld Base. 

Please whitelist us on your ad blocker and

Get a lifetime ad-free experience with the purchase of any RimWorld merchandise from our store. 

Still seeing this message after making a purchase? Click here to fix it

Get your RimWorld T-Shirt!

Dress in RimWorld style. For you or your loved ones!