JeviLibBL Debug
A multifunction library for code modders, containing patching, preferences, tweening, postprocessing, async support, stats, and other utilities.
模組介紹 作者原文
JeviLib Debug
A multifunction library for code modders, containing serialization utilities and tweening.
What's the difference between "Debug" and "Normal"?
This version was built with the DEBUG compiler flag. This means that there are extra checks and log points. _This means slightly decreased performance_, but you will be warned when you attempt to perform invalid operations and have greater insight on what's going on.
You should not rely on the increased checks for your code. This version should not be the version you depend on. You should depend on the normal version of JeviLib.
What does it do?
JeviLib version 3.1.0 no longer requires a plugin to be installed, as the actions that it performed have been brought into MelonLoader 0.7.1, hence the requirement.
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, organized by namespace.
- Jevil: Contains countless utilities and extension methods I created during development of Chaos, maps, and other parts of JeviLib.
- Jevil.Prefs: Described above, a way to quickly and easily create MelonPreferences and BoneMenu entries.
- Jevil.Tweening: An extensible tweener that modders can use to smoothly transition the state of values from a starting value to another, with multiple tweeners built in.
- Jevil.IMGUI: Contains utilities for drawing quick debug things to IMGUI. Use via DebugDraw class's methods.
- Jevil.Patching: Easily hook/replace/disable methods using Actions and Funcs (And disable methods using namespace, type name, and method names).
- Jevil.Waiting: Replacements for WaitUntil and WaitDuring, as well as a WaitForSceneInit awaitable. As well as CallDelayed to invoke things at a later time.
- Jevil.PostProcessing: A custom postprocessing layer, with support for custom shaders, including access to the depth buffer (on PC)
Be specific: what else does the JeviLib contain?
- Asset management: The BundledAsset class makes it easy to reference assets contained in AssetBundles, with support for async asset loading to avoid halting the main thread, and ULazy to only load things when you need them.
- Various other utilities: The Utilities class has a lot of reflection and serialization utilities, so you can quickly serialize objects and save them to a file or send them over the network.
- Asynchronous coding: The AsyncUtilities and AsyncExtensions classes let you run all your code without halting the game, and minimizing lag.
- Compiler services: [IsUnmanagedAttribute], so that your type constraints can have T: unmanaged.\*
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.1.0
- Update for ML 0.7.1. Untested on 0.7.0.
-.INOC was removed though, but that's little more than a find-and-replace 5 minute fix.
- For more specifics, check the GitHub. It's been so long, I don't fully remember.
- # 3.0.0
- Patch 6 release, because i missed 4 and 5, lol. Basically like a year and a half of development. Now on ML 0.6.x!
- Added JeviLib.PostProcessing, after much ado and delay, and also testing and finetuning.
- Added JevilPlugin to modify proxy assembly generation instead of using a forked process and Cecil.
- Many more things, check out the GitHub repo for everything new.
- uhhh basically just released so i could get this
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
- 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
- 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。
不同模組的安裝位置差異較大,包內說明是最可靠的依據。
下面這些內容需要先安裝,否則該模組不會生效: