介绍
NilLoader 是一个轻量、小型、易于安装、独立于程序的系统,用于给 Java 程序在应用运行时补丁,所以它与任何修改了 JVM 参数的启动器兼容。
它基于 Java 原生的代理系统,提供了一个简便而全面的 API,用于定义类补丁和入口点。
它还提供了一个用于处理被混淆过环境的系统(例如 MC 环境),所以开发者可以不必使用混淆过的类名/变量等进行开发。
使用
一个 NilLoader 模组会直接包含一个 NilLoader 的副本,允许模组直接被当作 Java Agent 使用。
你还可以将 NilLoader 自身作为 Java Agent 使用,NilLoader 会在 mods 或 nilmods 文件夹中查找适用于 NilLoader 的模组文件来加载。
此时模组自带的 NilLoader 副本会被忽略以避免版本冲突。
NilLoader 与许多给 Java 打补丁的架构类似,主要为 Minecraft 设计。在 Minecraft 环境中,它与其它任何模组加载器兼容(如 Quilt、Forge 和 ModLoader),并且与 Fabric 类似,可被应用于任何 Minecraft 版本(从 RubyDung 到最新的快照)。
但由于 NilLoader 优秀的兼容性,它在模组开发不如其他模组加载器便捷,例如中间名混淆表、跨版本兼容或强大的 API。
NilLoader 允许你做两件事:修改类,并告诉在其它东西运行前 JVM 何时启动。
然而,在这些可能的加持下,你可以做任何你想做的其它事情。注意,NilLoader 并不是 Fabric 或者 Forge 的替代品,它是为那些奇怪的 Minecraft 版本的模组开发增添可选项或做那些其他模组加载器不会做的事。
也许会有人为 NilLoader 制作一个完备的 API,但是 NilLoader 自己永远不会制作自己的模组 API。
安装
要使用 NilLoader,请先在 GitHub Releases 中下载最新的发行版,并将其放在你的运行目录下,如果未开启版本隔离则是 .minecraft/,版本隔离后为 .minecraft/versions/<version>/,最终与 minecraft,mods 等并列,重命名为"NilLoader.jar",并在启动器的 JVM 参数中添加 "-javaagent:NilLoader.jar"。