For the options to work, you should include the additional SubModule that Bannerlord.MBOptionScreen
provides
<SubModule>
<Name value="MBOptionScreen" />
<DLLName value="MBOptionScreen.v2.0.10.dll" />
<SubModuleClassType value="MBOptionScreen.MBOptionScreenSubModuleV2010" />
<Tags>
<Tag key="DedicatedServerType" value="none" />
<Tag key="IsNoRenderModeElement" value="false" />
</Tags>
</SubModule>
- You need to reference a specific assembly version. For example, if you are integrating v2.0.4, be sure that the .dll name is
MBOptionScreen.v2.0.4.dll
.
The reason for this is that the game might have multiple mods with integrated MBOptionScreen. If the library name is the same one (MBOptionScreen.dll), only one version would be used. It could be a lower version, which will break mods depending on a higher version. By specifying the library version, everyMBOptionScreen
library will be loaded. While this will take a little more more resources, we can guarantee thatMBOptionScreen
will always find the latest interface implementations that are compatible with the game version.
In conclusion, let's say you are making a mod Aragas.MercenaryContract.
And you would like to use MBOptionScreen as a dependency.
Instead of your old ways with ModLib(when you add a DependedModule).
You should add another tag of SubModule
inside the SubModules
tag.
So basically your SubModules tag
is supposed to hold two SubModule tag
inside of itself.
And they should look like this:
<SubModules>
<SubModule>
<Name value="Aragas.MercenaryContract" />
<DLLName value="Aragas.MercenaryContract.dll" />
<SubModuleClassType value="Aragas.MountAndBlade.MercenaryContractSubModule" />
<Tags>
<Tag key="DedicatedServerType" value="none" />
<Tag key="IsNoRenderModeElement" value="false" />
</Tags>
</SubModule>
<SubModule>
<Name value="MBOptionScreen" />
<DLLName value="MBOptionScreen.v2.0.4.dll" />
<SubModuleClassType value="MBOptionScreen.MBOptionScreenSubModule" />
<Tags>
<Tag key="DedicatedServerType" value="none" />
<Tag key="IsNoRenderModeElement" value="false" />
</Tags>
</SubModule>
</SubModules>
Remember after you compile your mod, there is supposed to be an MBOptionScreen.v%VERSION%.dll
inside the Win64_Shipping_Client
folder of your module.
In this way, the Bannerlord launcher should load your module with MBOptionScreen without any problems.
This page was last modified at 06/20/2024 21:31:05 +00:00 (UTC).