153 ratings
ModCheck (Continued)
Mod, 1.0, 1.1, 1.2
File Size
0.423 MB
Mar 25, 2020 @ 2:46pm
Aug 27, 2020 @ 1:18pm
3 Change Notes ( view )

Subscribe to download
ModCheck (Continued)

In 1 collection by Mlie
Mlie's resurrected mods
679 items

Update of Nightinggales mod

This mod has not been tested with many mods as I havent found many that uses it. If you test this with a mod and it doesnt work please leave a comment. I will try my best to support this mod.

- Not compatible with RimThemes


Toolkit for xml modders. Adds 13 new patch operations. Eliminate the need for patchmods. Patch according to presence, order or version of mods. Reorder xml elements, write patching results and test results to the log. Allow faster patching (shorter startup time) and measure how long each patch spends patching.

The primary task for ModCheck is to remove the need for patch mods. It's done by adding test operations, which can tell if another mod is loaded, if one mod is before another, is of at least a certain version, either in About or in ModSync. Each of those can be reversed (not loaded etc).

Adds logic operators, like sequence, AND, OR, If else conditions. This can be used together with the test operations or vanilla operations to make complex test conditions if needed.

Boost performance. Need to do multiple patching operations on the same building? Search, keep the result and run a list of patches without performing a full xpath search for each operation.

Added a bed and want it to appear in the build menu next to the vanilla beds? The Move operation allows you to alter where your modded building will appear.

Feature rich log writing. Get operations to write messages, warnings and errors if operations succeed or fail. Tell the user if a needed mod isn't loaded or load order is incorrect. Also allow writing conditionless with whatever message you might want to add.

Profile patches. Measure how much time is spend on each patch. ModCheck is aware of which mod owns which patch, meaning you can get a precise view of the startup time of your mod. You can name your patches if root operation is from ModCheck, like ModCheck.Sequence. This will allow performance printout with names rather than just patch 1,2,3....

Forum Thread[ludeon.com]
Manual of each operation[github.com]

Mod Load Order:
In most cases this doesn't matter, but early is recommended.

The only problem with load order comes from mods including an outdated version of ModCheck. If that is the case, then the newest version of ModCheck needs to be first. If this happens, then ModCheck will provide an error, which should make the issue easy to fix, both for players and mod creators.

Updating ModCheck will not break existing xml files unless stated otherwise.

- Fixed compatibility issue with updated Rimworld. Profiling works again.
- Updated version URL for Fluffy's Mod Manager

v1.8 (RW 1.0)
Update to about only. The DLL file will not even have to be updated.

- RimWorld 1.0 support
- Added support for Fluffy's Mod Manager

This is a significant update from a coding point of view. B19 vanilla changed completely regarding patching.
While the code is significantly better, all Harmony calls from ModCheck had to be redesigned and rewritten.

- Added B19 support
- Added Search operation to speed up patching when the same object is patched multiple times in a row
- Added Move operation to control cases where order matters (like order of building buttons)
- Patch profiling now measures the time more accurately (less rounding errors)

Removed FindFile operation (vanilla rewrite renders it both obsolete and impossible to implement)
Any xml file with FindFile will need updating.

Earlier versions mentioned in the B18 mod page

< >
cursed Jul 1 @ 2:19pm 
OK, thanks
Mlie  [author] Jul 1 @ 2:12pm 
@cursed If you find any, please leave a link to them and Ill have a look if they need it or just havent switched to the vanilla-patches
cursed Jul 1 @ 2:08pm 
like no..
Mlie  [author] Jul 1 @ 1:45pm 
@cursed Is there any mods that needs it?
cursed Jul 1 @ 12:52pm 
1.3 please
Mlie  [author] Jul 21, 2021 @ 12:17pm 
Yes, it will probably no longer be needed.
Sarg Bjornson Jul 21, 2021 @ 11:34am 
I think all the functionality this mod provided is now vanilla...
Keyara Jul 21, 2021 @ 11:04am 
Will you keep working on this or are you letting it go?
Witch ~ Sep 9, 2020 @ 8:28am 
holy shit really? I didnt know that!

This explains a lot..

Maybe I should read the descriptions better next time
Mlie  [author] Sep 9, 2020 @ 8:12am 
@__Mr_Krill__ Well, RimThemes modifies the loading-functions so this mod cannot apply patches. So its more like, if you use RimThemes this mod will not work