extraes-JeviLibBL icon

JeviLibBL

A multifunction library for code modders, containing patching, preferences, tweening, easy barcodes, async support, stats, and other utilities.

Last updated a month ago
Total downloads 54647
Total rating 8 
Categories Code Mods
Dependency string extraes-JeviLibBL-3.0.0
Dependants 22 other packages depend on this package

This mod requires the following mods to function

gnonme-BoneLib-3.0.0 icon
gnonme-BoneLib

A BONELAB mod for making life easier for other mod creators.

Preferred version: 3.0.0

README

JeviLib

A multifunction library for code modders, containing serialization utilities and tweening.

What does it do?

This library holds a bunch of utilities I found necessary to create whilst I created BW Chaos, and that continues to remain useful on other projects. In these utilities are my Prefs system, numerous extension methods, and my serialization utilities (byte array lossless joiner and separator, Vector3 byte converter).

JeviLib also includes many extra utilities I created because I can see others having a use for them.

User Notice

JeviLib v3.0.0 and above use a Plugin to modify MelonLoader's assembly generation step. This means that it forces assembly generation to be rerun.

Due to this, you will experience an increased first-start time.

Thanks

  • Adamdev: making BoneMenu
  • WNP78: Making FieldInjector & helping me with advanced patching, used in the older version of Jevil.Patching, but used in the bedrock of postprocessing.
  • Adi: Carrying the code modding category while I waste a bunch of time fucking with Unity for Septic Survival and other things. Also bringing a seafaring misnomer to my attention.
  • Simpleflips: Shoutouts to simpleflips. Its a meme you dip.

Changelog

  • 3.0.0

    • Update for Patch 6 & ML 0.6.x
    • Added custom postprocessing for other modders to use.
      • If you want to see some of the built-in postprocessing things, use JeviLib_Debug
    • Added JevilPlugin
  • 2.2.1

    • Rebuilt fix process. This should prevent it from asking for a debugger, or failing on Patch 3. Whups.
  • 2.2.0

    • Added Stats for mod creators.
    • Added other stuff for SSBL.
  • 2.1.1

    • Fixed some prefs stuff & fixed fixer process
  • 2.1.0

    • Added some systems to make async development easier and not halt the game.
    • Added an asset management tool.
    • Optimized one of the most heavily used methods in SceneSaverBL to not waste memory (Vector3 to byte converter).
  • 2.0.0

    • Turns out I never did end up releasing the public release build for this, because I never released a mod that used it during this time.
    • Make mod development easier! Developers can now use Coroutines and UniTasks more like they would in a normal Unity context.
  • 1.1.0

    • Add more functionality to Preferences, for Nichrome (which I need to fix a part of before releasing) and likely for Chaos, eventually.
    • Fixed Const.RigManagerName (oops! theres a reason i said you probably shouldn't use it)
  • 1.0.0

    • Initial BONELAB port
Original JeviLib changelog
  • 2.0.3 Hotfix

    • Add something that should have already existed & bump version number.
    • Gave map creators more control over the map loading process.
  • 2.0.2

  • 2.0.1 Hotfix

    • Add a few tools for developers.
    • Improve stability & consistency.
  • 2.0.0: The Support Update

    • Added new namespaces: Jevil.IMGUI, Jevil.Patching, & Jevil.Waiting
    • Improve prefs system.
    • Move & rename some things.
    • Create multiple ways of more easily dynamically supporting unreferenced assemblies
    • Add more utilities and extensions.
    • For a more complete change list, see the list in the Debugging/Development build's Readme. Or check the git changes to everything that's changed.

JeviLib V1.X.X

  • 1.1.2

    • Fix reading Enum preferences and a log statement related to them.
    • Add another AudioSource extension for tweening.
  • 1.1.1

    • Fix Enum preferences. Oops, missed this bug for this long.
    • Change docs on Utilities.GFMN
  • 1.1.0

    • Add more Tweens, like extensions for AudioTween, and RotationTween.
    • Add more Tween extension methods, like Unique.
    • Add Jevil.Spawning namespace, so far just used for spawning EarlyExits of different varieties and spawning Ammo boxes. Untested, so good luck lol.
    • BREAKING CHANGE: Use record type for PrefEntries, so field/property names have changed.
  • 1.0.1

    • Fix Thunderstore website link
    • Change some docs
    • Build release as release
  • 1.0.0

    • Initial upload