XML Extensions

If you liked this item, please rate it up on Steam Workshop page.

Author: Imranfish

Last revision: 15 Mar at 07:38 UTC (7)

File size: 735.86 KB

On Steam Workshop

Description:

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!

Download
Required items:

Click the title to search on this site.


HarmonySteam Workshop