ButterLib

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

Author: Pinkie Arg

Last revision: 13 Nov, 2023 at 22:00 UTC (2)

File size: 5.71 MB

On Steam Workshop

Description:

For the Early Access version please visit this!

Sources available at GitHub[github.com]!

Installation

This module should be one of the highest in loading order and placed above native modules. Ideally, it should be second in load order after Bannerlord.Harmony.

Important information for v1.2.0

ButterLib’s and BEW Crash Reporters are broken by TW. We are not able to do something here via ButterLib, so we suggest to download BLSE v1.4.0 or higher from NexusMods to make Crash Reports work again!

For Players

.This mod is a dependency mod that does not provide anything by itself. You need to additionaly install mods that use it.

For Modders
Distributed libraries:

ButterLib 2.1.0 distributes with itself some libraries. Unfortunately, the game has a strict dependency system and if the versions don’t match the game will crash. So here’s the list of packages:

  • Microsoft.Extensions.DependencyInjection – 2.0.0
  • Microsoft.Extensions.DependencyInjection.Abstractions – 2.0.0
  • Microsoft.Extensions.Logging – 2.0.0
  • Microsoft.Extensions.Logging.Abstractions – 2.0.0
  • Microsoft.Extensions.Options – 2.0.0
  • Microsoft.Extensions.Primitives – 2.0.0
  • System.Reflection.Metadata – 5.0.0
  • System.Collections.Immutable – 5.0.0
  • System.Memory – 4.5.4
  • System.Buffers – 4.5.4
  • System.Runtime.CompilerServices.Unsafe – 4.5.3
  • Serilog – 2.10.0
  • Serilog.Extensions.Logging – 3.1.0
  • Serilog.Sinks.File – 5.0.0

We are unfortunately enforcing everyone to use exactly these versions. Microsoft.Extensions.* are 2.0.0 because Serilog is compiling against 2.0.0 versions of the libraries and the game is enforcing exact version match! Same for System.Reflection.Metadata, System.Runtime.CompilerServices.Unsafe is enforcing it.

Highlighted features:
  • ExceptionHandler – Catches all exceptions in BEW style and gives the ability to save the crash report
  • CrashUploader – Uploads those crash reports to https://butr.dev for creating tiny url’s for sharing!
  • CampaignIdentifier[butr.github.io] – Associates unique string ID with every campaign based on the initial character.
  • DistanceMatrix[butr.github.io] – A generic class that pairs given objects of type MBObject and for each
    pair calculates the distance between the objects that formed it.
  • DelayedSubModule[butr.github.io] – Execute code after specific SubModule method.
  • SubModuleWrappers[butr.github.io] – Wraps MBSubModulebase for easier calling of protected internal metods.

Check the /Articles[butr.github.io] section in the documentation to see all available features!

FAQ
CTD After an Update:

Steam is not always updating all mods. We suggest to manually resubscribe to Harmony, UIExtenderEx, ButterLib and MCM if you experience crashes!

Wrong ButterLib Version:

Check that the Modules folder (C:Program Files (x86)SteamsteamappscommonMount & Blade II BannerlordModules) does not contain a Bannerlord.ButterLib folder!

Download
Required items:

Click the title to search on this site.


HarmonySteam Workshop
Revisions:

Old revisions of this mod are available below. Click the link to download.