Guide-API

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

游戏内指南书(guide book)开发库。为第三方 mod 提供一套「书 → 分类 → 条目 → 页面」 四层内容结构、对应 GUI、JSON 反序列化器与 NBT 残页机制。 自身只注册 2 个物品(书本体 + 残页),不含任何方块 / 实体 / 附魔。

身份

属性 实测值
modid guideapi(全小写,gradle.properties:10)
modName Guide-API(gradle.properties:7,与仓库名一致)
网络频道 GuideAPI(ModInformation.CHANNEL,≠ modid)
主类包 amerifrance.guideapi
Java 文件 75
注册内容 0 方块 / 实体;2 物品(guideBook、lostPage)
配置项 2(Books 1 + General 1)
网络包 3(id 0/1/2)
硬依赖 无(DEPEND = "")
其它 声明 apiPackage 为空(API 实际位于 api 包)

[!IMPORTANT] 定位:指南书 API 库,不是导航 / 地图 mod README 首句:Library mod for easy creation of guide books. Also allows book creation via JSON files. 「Guide」在此处是指引手册之意,与 Navigator 那类地图 API 无关。 本 mod 不做任何寻路、定位、罗盘或地图渲染。

[!WARNING] modid 与 modName、频道三者各不相同 modid = guideapi(全小写,来自 gradle.properties 的 modId)、 modName = Guide-API、CHANNEL = GuideAPI。 mcmod.info 全文是 ${modId} / ${modName} / ${modVersion} / ${minecraftVersion} 占位符,ModInformation.java 中 ID / NAME / VERSION 三个常量也全是 GRADLETOKEN_* 占位符 (由 replaceGradleTokenInFile = ModInformation.java 在编译期替换)。 因此 modid 只能从 gradle.properties 读取。

四层内容结构

  • Book - 顶层:一本书(分类列表、纹理、颜色、作者、战利品设置)
  • CategoryAbstract - 第 2 层:分类基类(持有条目列表)
  • EntryAbstract - 第 3 层:条目基类(持有页面列表)
  • IPage - 第 4 层:页面接口(一页的实际绘制与交互)

API 入口列表

API 抽象层列表

API 基础实现列表

  • Book - 4 个构造器(1 主 + 3 废弃)
  • CategoryBase - CategoryAbstract 的默认实现
  • EntryBase - EntryAbstract 的默认实现
  • PageBase - IPage 的全空默认实现(含 canSee 默认逻辑)

API 工具列表

内容实现列表

页面实现列表

配方渲染器列表

GUI 列表

物品列表

序列化列表

  • BookCreator - Gson 构造器 + 7 个自定义类型适配器
  • TypeReaders - ItemStack / Color 等类型的读写实现
  • ITypeReader - 序列化/反序列化双向接口

网络列表

包装器列表

代理与事件列表

配置与核心列表

依赖关系

本 mod 无硬依赖(DEPEND = "")。README 列出的兼容方 Sanguimancy / Creative Concoctions / Blood Magic 均不在本 wiki 收录范围 (relation.md 无对应行),故不建分类。