0 of 0
File information
Last updated
Original upload
Created by
AragasUploaded by
AragasVirus scan
Safe to use
Current section
About this mod
A library for patching, replacing and decorating .NET and Mono methods during runtime.
Intended to ensure that all mods in a player's modlist are using the latest version of Harmony to minimize conflicts.
We also added a Debug UI! Available via CTRL+ALT+H.
- Requirements
-
Nexus requirements
Mod name Notes Bannerlord Software Extender (BLSE) Required for Xbox. Optional for Steam/GOG/Epic Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You are not allowed to upload this file to other sites under any circumstances
- Modification permission You must get permission from me before you are allowed to modify my files to improve it
- Conversion permission You are not allowed to convert this file to work on other games under any circumstances
- Asset use permission You must get permission from me before you are allowed to use any of the assets in this file
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
Author: pardeike
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
-
Translations
- Turkish
- Spanish
- French
- Mirrors
-
Name GitHub - Changelogs
-
-
Version v2.10.1.150
- Switched to HarmonyX. See the news for more info
-
Version v2.3.3.207
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.3.204
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.3.202
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.1.1200
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0.198
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0.196
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0.194
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0.192
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0.186
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0.184
- Works with every version past v1.0.0 (Steam/GOG/Epic) and past v1.2.7 (Xbox).
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0.174
- Works with every version past v1.0.0
- Added more info for Debug UI. Available via CTRL+ALT+H
- Unpacking .7z files - https://www.nexusmods.com/mountandblade2bannerlord/articles/423
-
Version v2.3.0-prerelease
- The next-gen backend. v2.3.0 is not officially out, but is stable.
-
Version v2.3.0-beta
- The next-gen backend. v2.3.0 beta
-
Version v2.3.0
- The next-gen backend. BUTR's fork of v2.3.0 beta
-
Version v2.2.2.162
- Switched back to Lib.Harmony because of HarmonyX compatibility issues
-
Notes
This is an unofficial distribution of the Harmony library created to have an easier way to manage external library dependencies.
The repository of the mod - Bannerlord.Harmony.
Bannerlord.Lib.Harmony Announcement for Modders
Original Harmony library now fully supports the netstandard2.0, so we reverted back to it. Our fork of the library is now deprecated.
Installation
This module should be the highest in loading order. Any other module that requires to be set at the top (Better Exception Window, ButterLib, MCM, etc.) should be loaded after this mod.
For Players
This mod is intended to ensure that all mods in a player's modlist are using the latest version of Harmony to minimize conflicts.
For Modders
We added a Debug UI! Available via CTRL+ALT+H.
You still need to reference Harmony as a NuGet package, it is not required to include 0Harmony.dll in the final /bin output of your module.
You do need to add this to your
This way the game will ensure that the Harmony library is loaded before your mod.
Versioning
The Module combines the Harmony version used and the Build Id that published the Module. The Build Id is simply added to the end.
2.0.2.22 indicates that Harmony 2.0.2.0 is used and 22 is the Build Id.
2.0.0.1025 indicates that Harmony 2.0.0.10 is used and 25 is the Build Id.
We considered using the Rimworld approach with introducing our own version system, but it won't give a clear way to detect which Harmony version the Module contains. It's easier for the user to report the version of the Module used than to check the assembly version/send it.
Troubleshooting
* Having trouble extracting the archive? Install via Vortex, or download 7-zip. DO NOT USE ANYTHING FROM THE WINDOWS APP STORE.
We also added an article on how to install and use 7-zip!
* If the game crashes on start, most likely you are using or you were using Fixed Launcher. When installed, it copies 0Harmony.dll which prevents Bannerlord.Harmony from working.
* If Fixed Launcher was uninstalled or never installed, check that the following files are not in the game's main /bin folder (Mount & Blade II
Bannerlord\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
- 0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
About
Harmony gives you an elegant and high level way to alter the functionality in applications written in C#. It works great in games and is well established in titles like 7 Days To Die, BattleTech, Besiege, Cities:Skylines, Kerbal Space Program, Oxygen Not Included, Ravenfield, Rimworld, Sheltered, Stardew Valley, Staxel, Subnautica, The Ultimate Nerd Game, Total Miner, Unturned and many more.
It is also used in unit testing WFP controls and in many other areas.
How it works
If you develop in C# and your code is loaded as a module/plugin into a host application, you can use Harmony to alter the functionality of all the available assemblies of that application. Where other patch libraries simply allow you to replace the original method, Harmony goes one step further and gives you:
• A way to keep the original method intact
• Execute your code before and/or after the original method
• Modify the original with IL code processors
• Multiple Harmony patches co-exist and don't conflict with each other
• Works at runtime and does not touch any files
Documentation
Please check out the documentation.
Contribute
pardeike put thousands of hours into this project and its support. So every little action helps:
• Upvote this stackoverflow answer
• Spread the word in your developer communities
• Become a GitHub sponsor or a Patreon
This project uses the great MonoMod.Common library by 0x0ade.
This is an unofficial distribution of the Harmony library created to have an easier way to manage external library dependencies.
The repository of the mod - Bannerlord.Harmony.
Bannerlord.Lib.Harmony Announcement for Modders
Original Harmony library now fully supports the netstandard2.0, so we reverted back to it. Our fork of the library is now deprecated.
Installation
This module should be the highest in loading order. Any other module that requires to be set at the top (Better Exception Window, ButterLib, MCM, etc.) should be loaded after this mod.
For Players
This mod is intended to ensure that all mods in a player's modlist are using the latest version of Harmony to minimize conflicts.
For Modders
We added a Debug UI! Available via CTRL+ALT+H.
You still need to reference Harmony as a NuGet package, it is not required to include 0Harmony.dll in the final /bin output of your module.
You do need to add this to your
SubModule.xml
<DependedModules>
<DependedModule Id="Bannerlord.Harmony" />
</DependedModules>
This way the game will ensure that the Harmony library is loaded before your mod.
Versioning
The Module combines the Harmony version used and the Build Id that published the Module. The Build Id is simply added to the end.
2.0.2.22 indicates that Harmony 2.0.2.0 is used and 22 is the Build Id.
2.0.0.1025 indicates that Harmony 2.0.0.10 is used and 25 is the Build Id.
We considered using the Rimworld approach with introducing our own version system, but it won't give a clear way to detect which Harmony version the Module contains. It's easier for the user to report the version of the Module used than to check the assembly version/send it.
Troubleshooting
* Having trouble extracting the archive? Install via Vortex, or download 7-zip. DO NOT USE ANYTHING FROM THE WINDOWS APP STORE.
We also added an article on how to install and use 7-zip!
* If the game crashes on start, most likely you are using or you were using Fixed Launcher. When installed, it copies 0Harmony.dll which prevents Bannerlord.Harmony from working.
* If Fixed Launcher was uninstalled or never installed, check that the following files are not in the game's main /bin folder (Mount & Blade II
Bannerlord\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
- 0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
About
Harmony gives you an elegant and high level way to alter the functionality in applications written in C#. It works great in games and is well established in titles like 7 Days To Die, BattleTech, Besiege, Cities:Skylines, Kerbal Space Program, Oxygen Not Included, Ravenfield, Rimworld, Sheltered, Stardew Valley, Staxel, Subnautica, The Ultimate Nerd Game, Total Miner, Unturned and many more.
It is also used in unit testing WFP controls and in many other areas.
How it works
If you develop in C# and your code is loaded as a module/plugin into a host application, you can use Harmony to alter the functionality of all the available assemblies of that application. Where other patch libraries simply allow you to replace the original method, Harmony goes one step further and gives you:
• A way to keep the original method intact
• Execute your code before and/or after the original method
• Modify the original with IL code processors
• Multiple Harmony patches co-exist and don't conflict with each other
• Works at runtime and does not touch any files
Documentation
Please check out the documentation.
Contribute
pardeike put thousands of hours into this project and its support. So every little action helps:
• Upvote this stackoverflow answer
• Spread the word in your developer communities
• Become a GitHub sponsor or a Patreon
This project uses the great MonoMod.Common library by 0x0ade.