Schematica Plus

[!INFO] Git Commit: 6460c741 | Updated: 2026-10-02

Schematica Plus 是 GTNH 的蓝图(schematic)导入导出与投影工具,基于 Lunatrius 的 Schematica 分叉。当前快照为 tag 2.0.0-alpha.5,commit 6460c741(2026-03-30,提交信息 “turned on the printer again. fixed a critical render issue”),src/main 下共 100 个 Java 文件。

⚠️ modid 是 Schematica(大写 S),与 wiki 分类名 schematica-plus 不是同一个东西。modid 取自 reference/Reference.java:8 的 MODID = "Schematica",与 gradle.properties:10 的 modId = Schematica 一致;资源域与网络通道则是小写 schematica(assets/schematica/、network/PacketHandler.java:18 的 Reference.MODID.toLowerCase())。「Plus」只体现在 Git 仓库名与 mod 版本号上,不进入 modid。

⚠️ 本 mod 注册 0 个方块、0 个物品、0 个实体、0 个 TileEntity、0 个多方块、0 个维度。grep -rn "GameRegistry\." src/ 无输出,CommonProxy.init 只注册网络封包与两个 FML 总线 handler(proxy/CommonProxy.java:53-62)。全部可交互内容由配置项、键位、指令、工具模式驱动。

运行环境

项目 值
Minecraft 1.7.10(gradle.properties:24 minecraftVersion = 1.7.10)
Forge 10.13.4.1614(gradle.properties:27)
Java 8 目标(gradle.properties:42 启用 Jabel 允许 Java 17 语法)
硬依赖 required-after:LunatriusCore;(reference/Reference.java:11),版本区间 [1.1.5,)(src/main/resources/mcmod.info:10)
编译期可选依赖 curse.maven:lotr-423748:4091561(dependencies.gradle:5,compileOnly)
主类 com.github.lunatrius.schematica.Schematica(@Mod 在 Schematica.java:21)
GUI 配置界面 有(guiFactory = Reference.GUI_FACTORY → client/gui/GuiFactory)
语言文件 28 个(en_US、zh_CN、ja_JP、ru_RU 等)
版本号占位符 mcmod.info 的 version 为 ${modVersion},构建期由 generateGradleTokenClass 注入(gradle.properties:53)

客户端连服有版本闸门:@NetworkCheckHandler 拒绝低于 1.11.0 的客户端(Schematica.java:35、:41-47),以保证配置项两侧一致。

主要内容

本 mod 相对上游 Schematica 的增量集中在「工具模式」系统——7 个可循环切换的模式(tool/ToolMode.java:23-29),从 Litematica 移植而来(tool/ToolMode.java:19 作者署名),配合 Ctrl+滚轮 切换、左键/右键/Execute 三路操作,提供了粘贴、删除、填充、替换方块等能力。

useSchematicplusFormat 开关(配置,默认 false)切换的扩展 ID 存档格式也命名为 schemplus——这是本仓库「Plus」命名的另一处来源。

设置列表

  • 配置项 - 33 个配置项,7 个生效分类;tooltip 分类为死代码
  • 指令 - 5 条(4 服务端 + 1 客户端 /sblock),全部权限等级 0
  • 键位 - 5 个键位,外加工具物品的鼠标拦截与 Ctrl+滚轮切模式
  • 工具模式 - 7 个模式及其左右键/Execute 分派表
  • 蓝图格式 - 2 种已注册格式(Alpha 可读写、Litematica 只读)

网络列表

  • 网络封包 - 6 个封包与 Begin→Chunk→End 分块传输协议

集成列表

  • API 与兼容 - ISchematic 接口、2 个 Forge 事件、4 个兼容探针与打印机放置注册表