You are viewing a potentially older version of this package. View all versions.
extraes-JeviLibBL-1.0.0 icon

JeviLibBL

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

Date uploaded 2 years ago
Version 1.0.0
Download link extraes-JeviLibBL-1.0.0.zip
Downloads 428
Dependency string extraes-JeviLibBL-1.0.0

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.

Disclaimer to developers

The current release of JeviLib (v1.0.0) is not 100% functional as a result of differences between BONEWORKS and BONELAB. This version has only seen the light of day as a response to the need to release this if the mods I develop with it are to be used. Seeing as Jevil.Preferences is the most "ironclad" part of this library, with Jevil.Patching and Jevil.IMGUI close behind (both being used extensively in the prototyping of other mods as well as internal use within this library), it should function fine.

Outside of these, and the serialization utilities, I do not guarantee that every feature works, but if there is a subsystem of note to likely steer clear of, it would be Jevil.Spawning.Zombies due to its resources not being updated from BONEWORKS, however Jevil.Spawning.Barcodes and Jevil.Spawning.JevilBarcode should work fine, as they were written specifically for BONELAB. Also, Jevil.Instances should work for the rigs, audio manager, player health, and body vitals, but not for the mixers, cameras, or players.

Due to these reasons of incompleteness, I will hold off on releasing JeviLib_Debug until I get everything working. Until then, if you want a version of JeviLib with the debugging checks and logs, you can clone and build JeviLib from the GitHub repository.

Thanks

  • WNP78: Making FieldInjector & telling me about (and helping me with) System.Linq.Expressions, used extensively in Jevil.Patching.
  • 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

  • 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