Mantle

[!INFO] Git Commit: a907b5d | Updated: 2026-10-01

Slime Knights 的共享代码库(shared code for Forge mods)+ 一套「可翻页手册 / 书册」框架。 为 TConstruct 等自家 mod 提供库存方块基类、模块装载器、网络包工具、调试工具与书籍 GUI。 本身只注册 1 个物品(那本测试手册),0 方块 / 0 实体。

身份

属性 实测值
modid Mantle(首字母大写;CoreRepo.java:15 的字面量是构建期占位符)
modName Mantle
主包 mantle
资源域 mantle(小写,与 modid 不一致)
Java 文件 89
注册内容 1 物品 / 0 方块 / 0 实体
配置项 7(Environment 1 + DebugHelpers 6)
配置文件 config/SlimeKnights/Mantle.cfg
事件 1(ManualOpenEvent,Pre / Post 两种)
网络包 2 个类,但未注册任何网络通道
硬依赖 仅 Forge ≥ 10.13
其它 usesMixins = false;coreModClass 为空;apiPackage 为空;generateGradleTokenClass 为空(无 Tags 类)

[!IMPORTANT] 定位:共享代码库,不是内容 mod README 第一句即 **Shared code for Forge mods**;mcmod.info 的 description 是 Shared code for Slime Knights mods and others.。 全仓唯一的注册是 Mantle.java:72 的 GameRegistry.registerItem(mantleBook, "mantleBook")。 blocks/ 与 items/ 包下的类全部是 abstract 基类或无实例工具类,供第三方继承。

[!NOTE] mcmod.info 全文是 ${modId} / ${modName} / ${modVersion} / ${minecraftVersion} 占位符。 modid 只能从 gradle.properties:11 的 modId = Mantle 读取。 @Mod(modid = modId, ...) 读的是 CoreRepo.modId,其字面量为 GRADLETOKEN_MODID, 由 replaceGradleTokenInFile = CoreRepo.java 在构建期替换(该文件确实存在,替换正常)。

[!WARNING] 版本字段没有可读的静态值 generateGradleTokenClass 为空 → 不生成 Tags 类; CoreRepo.modVersion 是 GRADLETOKEN_VERSION,构建期替换为 git tag。 因此源码中读不到任何一个具体版本号字面量。

入口与配置列表

手册与书籍列表

书页类型列表

方块与库存基类列表

库存契约接口列表

Pulsar 模块框架列表

[!NOTE] mantle.pulsar.* 共 17 个类是上游 Pulsar 项目的原样打包副本(MIT)。 package-info.java:4 明写 This is a repackaged copy of the Pulsar project。 Mantle 自己未声明任何 pulse,整套框架是给依赖方用的。

旧模块框架列表

工具与事件列表

坐标工具列表

源码缺陷

  • MProxyClient - initManualPages 把 intro 注册两次, TitlePage 覆盖 TextPage;且空栈保护会「报错后仍然执行」导致 NPE
  • BookDataStore - getIDFromName 对 null 拆箱; addBook 用 data.size() 当 ID,重名书会撞 ID
  • Manual - addInformation 经 getBookfromID 拆箱 null; 构造器把 CreativeTabs 传 null,手册不进创造模式
  • MProxyCommon - getServerGuiElement 有恒等死分支
  • ManualOpenEvent - Pre 事件的取消状态不被检查
  • ILoadableModule - 注释里留着 // public static String modId = "ExampleMod";

依赖关系

硬依赖仅 Forge。本 mod 被 Slime Knights 系的 mod 依赖(典型是 TConstruct); 这些 mod 不在本 wiki 收录范围(relation.md 无对应行),故不建分类。 pulsar 包的 17 个类来自上游 Pulsar 项目(MIT),非 GTNH 收录项。