介绍
概述
Preloading Tricks 是一个仅面向开发者的模组,可在模组加载器的极早期阶段启用高级操作。
它提供早期钩子、基于 Java Instrumentation 的类转换,以及用于加载器扩展的 SPI 驱动回调。
支持的环境:
- Fabric – 1.20.1、1.21+
- Forge (LexForge) – 1.20.1
- NeoForge – 1.20.6、1.21+
你可以在更多版本上进行测试,因为它取决于加载器版本而非 Minecraft 版本。
功能
- 通过
PreloadingEntrypoint(基于 SPI)提供早期加载器入口点
- 使用
PreloadingTricksCallbacks事件注册回调: SETUP_LANGUAGE_ADAPTER– 早期语言适配器设置阶段COLLECT_MOD_CANDIDATES– 在发现之前动态添加模组候选路径SETUP_MODS– 修改模组列表(通过ModManagerAPI 添加/移除/查询)- 基于 Instrumentation 的
ClassTransform可以转换已加载的类,包括 Java 核心类和类加载器类。在所有平台上通过MANIFEST.MF配置(见下文)。
- Forge 变体检测(仅限类 Forge 加载器)
- 访问
ForgeVariants以在运行时检测特定的 Forge/NeoForge 版本
用法(Gradle)
将 Maven 仓库和依赖添加到你的构建中:
Kotlin DSL:
repositories {
maven("https://raw.githubusercontent.com/settingdust/maven/main/repository/")
}
dependencies {
// Recommended: use the base artifact (no classifier).
// Gradle variant matching / cloche will resolve the correct platform artifact automatically.
implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION")
// Optional: pin to a specific classifier when you want to avoid accidentally using APIs
// from other platforms.
// implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:fabric")
// implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:forge-service")
// implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:neoforge-modlauncher")
// implementation("settingdust.preloading_tricks:PreloadingTricks:VERSION:neoforge-fancy-mod-loader")
}
将 VERSION 替换为最新版本(例如 3.5.9)。
如果你使用 cloche,则会根据加载器/Minecraft 属性自动选择对应的变体。
ClassTransform 配置
对于所有平台,将以下属性添加到你的 MANIFEST.MF 中:
ClassTransformConfig: xxxx.classtransform.json
可以以逗号分隔值的形式指定多个配置:
ClassTransformConfig: first.classtransform.json,second.classtransform.json
配置示例(xxxx.classtransform.json):
{
"package": "settingdust.preloading_tricks.neoforge.transformer",
"transformers": [
"mod_setup_hook.FMLLoaderTransformer"
]
}
Forge 变体检测(仅限类 Forge 加载器)
允许模组仅在特定的类 Forge 加载器变体上加载。这使得可以通过 jar-in-jar 在单个模组文件中同时打包 LexForge 和 NeoForge 的 JAR。
配置:
在 MANIFEST.MF 中指定你的模组目标变体:
ForgeVariant: LexForge
或
ForgeVariant: NeoForge
指定了 ForgeVariant 的模组只会在匹配的加载器变体上运行时加载,从而允许特定变体的实现安全共存。
面向需要介入 Minecraft 加载过程最早阶段的开发者。
常见问题
Preloading Tricks 支持哪些 Minecraft 版本?
Preloading Tricks 支持 Minecraft Java 版 1.16.5–26.1.2,共 31 个版本,可用的加载器:Fabric / Forge / NeoForge / Quilt。下载时注意选择和你游戏版本一致的文件。
Preloading Tricks 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。
settingdust 的其他作品
查看全部 →Kiwi 🥝
Minecraft 模组开发库
Snow! Real Magic! ⛄
不是魔法类模组。 · 雪的重力与堆积 · 被雪覆盖的方块 · 调整雪的行为
Mod Compat Fixes
修复整合包中几个模组的问题。
lazyyyyy
主要优化大型整合包的游戏启动时间。
评论
登录后评论和评分