• Please note that we've updated the Mount & Blade II: Bannerlord save file system which requires you to take certain steps in order for your save files to be compatible with e1.7.1 and any later updates. You can find the instructions here.

Suggestion General Custom XSD schemas don't appear to be loaded in 1.6.4

Users who are viewing this thread

Jance

Recruit
WBWF&SNWVC
So our mod has a few custom xsd schemas for adding attributes to items (eg. we have added a hitpoints attribute to armor that provides bonus health). As of 1.6.4, our schemas are no longer detected for some reason. I've been manually diffing every related class, but am having a hard time finding why this broke in 1.6.4.

Also worth noting that the schemas are detected fine by the editor version of the game, but not in the normal client.

Here's a crash report I've uploaded: 2021-10-23_18.21.08_3750681dc7c6903ca1c68e89ecbc5693
 

Jance

Recruit
WBWF&SNWVC
We're now experiencing this in the 1.6.5 editor as well.


Code:
[13:31:02.879] opening ..\..\Modules\KingdomsOfArda/ModuleData/items/arm_armours.xml

[13:31:02.880] opening ../../XmlSchemas/Items.xsd

[13:31:02.882] Error: The 'hitpoints' attribute is not declared.
Node: hitpoints  Value: 6
Line: 6

I'm guessing this has something to do with the xml validation changes that were implemented?
 

Gauner

Recruit
I have a similar problem. My mod added a new settlement type that is read from xml and with the new xml validator it cannot be loaded because it's not in the xsd schema.
We need way to load custom types without changing the local xsd schema.
 

Jance

Recruit
WBWF&SNWVC
I have a similar problem. My mod added a new settlement type that is read from xml and with the new xml validator it cannot be loaded because it's not in the xsd schema.
We need way to load custom types without changing the local xsd schema.
Here's a patch btw that will disable the validation and allow you to use your settlement type again until they implement a better solution:

Code:
[HarmonyPrefix]
[HarmonyPatch(typeof(MBObjectManager), "GetMergedXmlForManaged")]
public static bool SkipXMLValidationPatch(string id,
    ref bool skipValidation,
    bool ignoreGameTypeInclusionCheck = true,
    string gameType = "")
{
    skipValidation = id != "SiegeEngines";
    return true;
}
 
Top Bottom