介绍
Rebooter
An elegant drop-in replacement for FermiumBooter, featuring broad API compatibility, cached annotation scanning, and
complete freedom, backed by MixinBooter.
Usage
For users, remove FermiumBooter, then install Rebooter with
MixinBooter 10.x or higher. FermiumBooter-dependent mods should then
function normally. Make sure the leading backtick in the file name is present; otherwise, a ClassNotFoundException may
be thrown. When using Cleanroom Loader, MixinBooter is not needed.
For developers, we recommend making your mod depend directly on
MixinBooter and
ConfigAnyTime to load and control mixins. This approach provides more
advanced mixin management and better compatibility. Add Rebooter as a dependency only when one of your dependencies
requires FermiumBooter.
Compatibility
The current compatibility target is FermiumBooter 1.4.1.
Rebooter aims to provide API and ABI compatibility through 1.4.1, including APIs introduced in 1.2.0 and removed in
1.3.0.
The table lists the supported APIs introduced by each FermiumBooter release; releases with no API additions are omitted.
| Version | APIs introduced |
|---|---|
| 1.0.0 | FermiumRegistryAPI.enqueueMixin(boolean, String...)FermiumRegistryAPI.enqueueMixin(boolean, String)FermiumRegistryAPI.enqueueMixin(boolean, String, boolean)FermiumRegistryAPI.enqueueMixin(boolean, String, Supplier<Boolean>)FermiumRegistryAPI.removeMixin(String) |
| 1.2.0 | FermiumRegistryAPI.isModPresent(String)FermiumRegistryAPI.registerAnnotatedMixinConfig(Class<?>, Object) (removed in 1.3.0)FermiumEarlyModIDSearcher.isModPresent(String) (removed in 1.3.0)FermiumMixinConfigHandler.registerForgeConfigClass(Class<?>, Object) (removed in 1.3.0)MixinConfig.SubInstance (removed in 1.3.0)MixinConfig.EarlyMixin.name() (removed in 1.3.0)MixinConfig.LateMixin.name() (removed in 1.3.0)MixinConfig.CompatHandling.modid()MixinConfig.CompatHandling.desired()MixinConfig.CompatHandling.disableMixin()MixinConfig.CompatHandling.reason()MixinConfig.CompatHandlingContainer.value() |
| 1.3.0 | FermiumJarScanner.isModPresent(String)MixinConfig.name()MixinConfig.MixinToggle.earlyMixin()MixinConfig.MixinToggle.lateMixin()MixinConfig.MixinToggle.defaultValue() |
| 1.3.2 | MixinConfig.CompatHandling.warnIngame() |
Rebooter also supports a configurable network version. To connect to existing FermiumBooter servers, configure
Enable Custom Network Version and Custom Network Version in Rebooter’s fermiumbooter.cfg. Although FermiumBooter
contains no network components, Forge applies its default @Mod version check during connection.
FermiumBooter.java#L9
Annotation scanning
FermiumBooter introduced @MixinConfig in 1.2.0, providing a way for developers to manage Mixin configuration
resources. However, in 1.3.0, the registry was replaced by a full ASM class scan on every launch. In an RLCraft Dregora
instance with 230 mods, this increased launch time by about 2.0 seconds.
Rebooter efficiently and accurately supports both approaches using optimized ASM scanning and a cache. The cache is
rebuilt automatically when mod changes are detected, preserving its validity.
Liberty
Rebooter is implemented from scratch and uses FermiumBooter only as a reference for API compatibility, providing an
independent libre alternative for everyone.
The mod code under src/ is released under The Unlicense, permitting unrestricted reuse. The project template is
RuiXuqi/ForgeDevEnv, adapted from
CleanroomMC/ForgeDevEnv, and is licensed under MIT License.
常见问题
Rebooter 支持哪些 Minecraft 版本?
Rebooter 支持 Minecraft Java 版 1.12.2,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
Rebooter 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
RuiXuqi 的其他作品
查看全部 →Catalogue Vintage
旧版本上的精彩模组清单!
CTM Vintage
A fork of CTM with backported features, supporting json loading and new ctm types.
RGB Chat Vintage
Tweaked version of RGB Chat with only rgb text feature.
Delete Worlds To Trash Vintage
Delete 1.12.2 worlds to recycle bin/trash.
评论
登录后评论和评分