
MagicLib
模组依赖库。
MagicLib






⚠️警告:该项目仍处于早期开发阶段。
❗报告问题前,请务必尝试最新的测试版以检查问题是否仍然存在。
描述
一个多功能模组依赖库。
依赖
| 依赖 | 类型 | 环境 | 链接 |
|---|---|---|---|
| Carpet | 可选 | 客户端 / 服务端 | CurseForge | GitHub |
| MaliLib | 可选 | 客户端 | CurseForge |
| Mod Menu | 可选 | 客户端 | CurseForge | Modrinth |
特性
兼容 API
- 多版本兼容性,是的,我们通过多种手段使其兼容所有运行在 Fabric Loader 上的最新 Minecraft 发布版(1.14+)。这是如何做到的?魔法 :(
- 我们编写了兼容性 API 来平衡不同版本之间的差异。对于同时维护多个 MC 版本模组的开发者来说,可以在一定程度上忽略 Mojang 对 MC 的改动。你无需关心 Mojang 做了什么,使用我们的 API,你可以在不同 MC 版本间轻松使用相同的代码。
依赖检查
我们添加了完整的依赖检查系统,通过表达式甚至自定义谓词来验证依赖可用性,可应用于多种场景,例如:
- MagicLibMixinPlugin 为模块提供额外的依赖检查,弥补了 Fabric Loader 的一些不足,例如为客户端和服务端设置不同的依赖。
- 依赖检查也可应用于 Mixin,仅当条件满足时才会应用该 Mixin。
- 依赖检查还可应用于配置管理,仅当条件满足时才会显示配置项。
- 未来的开发中可能包含更多功能。
国际化 (I18n)
- 我们重新实现了独立于 MC 的国际化系统,并可以为 MagicLib 的国际化设置备选语言列表。Mojang 在国际化文本中使用了一些技巧,导致 String.format 的某些功能不可用,这通常很令人困扰。
MaliLib 扩展
- 我们为 MaliLib 编写了一个非常实用的配置管理模块,尽可能使用 Java 注解配合基本数据类型生成配置列表。此外,对于配置文件,我们加入了配置版本管理系统,当配置文件结构发生重大变更时,它能帮助你快速编写自定义迁移方案。
- 我们将更高版本 MaliLib 的一些功能移植到了低版本,以便在适配低版本 Minecraft 的 MaliLib 中使用相同的功能。
开发
支持
当前主要开发的 Minecraft 版本:1.20.1
并使用 preprocess 兼容所有版本。
注意:我只接受以下版本的问题。请注意此信息具有时效性,任何未列在此处的版本的问题都将被关闭
- Minecraft 1.14.4
- Minecraft 1.15.2
- Minecraft 1.16.5
- Minecraft 1.17.1
- Minecraft 1.18.2
- Minecraft 1.19.2
- Minecraft 1.19.3
- Minecraft 1.19.4
- Minecraft 1.20.1
映射表
我们使用 Mojang 官方 映射表来反混淆 Minecraft 并插入补丁。
文档
英文文档和中文文档逐行对齐。
许可协议
本项目基于 LGPLv3 许可证发布。欢迎从中学习并将其整合到您自己的项目中。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。