CubicChunks1710

[!INFO] Git Commit: 80f1120 | Updated: 2026-10-03

Cubic Chunks(CubicChunks1710)是 GTNewHorizons 为 Minecraft 1.7.10 / Forge 10.13.4.1614 维护的 Cubic Chunks 移植版,由 Cardinalstars、DarkShadow44、Recursive Pineapple 维护(src/main/resources/mcmod.info:11)。它把原版"区块"从 2D 升为立方区块:世界在 Y 方向不再受 256 格限制,一个"列"(Column,XZ 16×16)内部可容纳任意多个 16×16×16 的立方体(Cube),因此地形可以垂直延伸到 ±21 亿格的范围。

这是一个纯基础设施模组:全仓 grep -rn 'GameRegistry.register' src/main/java 零命中,entity/ 目录下只有一个接口 ICubicEntityTracker.java,即它不注册任何方块、物品、实体、TileEntity 或合成配方。它也不注册任何游戏内指令:command/ 包里的 CubicCommandBase 与 SubCommandBase 都是 abstract,没有任何具体子类,也没有 CommandHandler.registerCommand 调用,属未移植的脚手架(详见下方"身份字符串"一节的 /cubicchunks 说明)。

身份字符串

以下字符串互不相同,均从源码读取而非目录名推断:

身份 值 来源
分类名 cubicchunks1710 relation.md
目录名 CubicChunks1710 mirror/ 实目录(os.listdir 校验大小写)
modid cubicchunks(全小写) CubicChunks.java:100 MODID = "cubicchunks",@Mod(modid = CubicChunks.MODID, ...) 于 :77;与 gradle.properties:10 的 modId 一致
人类可读名 Cubic Chunks gradle.properties:6 modName
FML 容器 modid(coremod) cubicchunkscore asm/CubicChunksCoreContainer.java:43 meta.modId = "cubicchunkscore",meta.name = "Cubic Chunks Coremod"(:44),meta.parent = "cubicchunks"(:52)
资源 domain cubicchunks(唯一) src/main/resources/assets/ 下只有 cubicchunks/ 一个子目录
核心包名 com.cardinalstar.cubicchunks gradle.properties:14 modGroup
存储格式 ID cubicchunks:anvil3d api/world/storage/StorageFormatFactory.java:37
jar 名 由 modId 推导 gradle.properties:190 的 customArchiveBaseName 被注释,故回退为 cubicchunks
世界类型 level 字符串 VanillaCubic api/worldtype/VanillaCubicWorldType.java:43

分类名 cubicchunks1710 不是 modid:它比 modid 多了 1710(1.7.10 的版本后缀)。取 modid 时必须以 CubicChunks.MODID 为准。

版本

无法核实——本仓是零 tag 浅克隆(git describe --tags 直接报 fatal: No names found, cannot describe anything.;git tag | wc -l 为 0;git rev-list --count HEAD 为 1)。

采用的版本闸门是 Form C(真实构建 + 零 tag 浅克隆),理由如下:

  • 这是真实构建(Form A 不适用):仓根有 gradle.properties、build.gradle.kts、dependencies.gradle、settings.gradle.kts
  • 但 build.gradle.kts 只有 4 行 plugins { id("com.gtnewhorizons.gtnhconvention") },版本号完全由外部 convention 插件从 git tag 推导;mcmod.info:7 插值 ${modVersion},而 modVersion 在仓内任何文件里都不存在(grep -rn 'modVersion' --include='*.kts' --include='*.gradle' --include='*.properties' --include='*.txt' 零命中)
  • 因此 mod 版本无法从源码确定,不予捏造

可核实的版本相关字段只有:

字段 值 来源
Minecraft 1.7.10 gradle.properties:24
Forge 10.13.4.1614 gradle.properties:27
MCP channel / mappings stable / 12 gradle.properties:30,33
FML MCVersion 校验值 1.7.10 asm/coremod/CubicChunksCoreMod.java:47
提交 80f11205aac444595f7546a9e29ee31fd20a8a3c(git cat-file -t → commit) git log -1

本条目不使用 git describe 作为版本闸门。 该命令在此仓直接失败;即使在有 tag 的克隆中,CubicChunks 系列的 tag 也常与实际目标版本不一致。

依赖

硬依赖(1 个)

  • RegionLib —— dependencies.gradle 中 implementation("com.github.GTNewHorizons:RegionLib:v0.1.0-GTNH:dev"),并在 @Mod(... dependencies = "required-after:RegionLib;") 显式声明(CubicChunks.java:77)。缺失时 FML 直接拒绝加载。

运行时依赖(implementation,随 Maven 发布)

  • GTNHLib 0.11.24 —— 提供 @Config 配置框架、LazyBlock 等

软依赖 / 仅编译期(compileOnly,运行时不要求)

  • ChunkAPI(chunkapi-mc1.7.10:0.8.1)—— 可选,MIXIN_COORD_PACKER_CHUNKAPI 需 addRequiredMod 启用
  • EndlessIDs(endlessids-mc1.7.10:1.7.1)
  • Et Futurum Requiem(2.6.2.21-GTNH-daily)—— 可选,@Optional.Method 启用深板岩填充
  • org.jetbrains:annotations:26.0.2、org.projectlombok:lombok:1.18.34(构建期)

仅开发期(devOnlyNonPublishable)

  • NotEnoughItems 2.8.111-GTNH、JUnit 5

reference-only

  • maven.modrinth:archaicfix:0.8.0 —— 在 dependencies.gradle 中被注释,未参与构建

运行时隐含依赖

  • UniMixins —— gradle.properties:101 usesMixins = true,gtnhmixins 体系(IMixins / IEarlyMixinLoader / ILateMixinLoader)需要它;三个 mixin JSON 均要求 minVersion: 0.8.5-GTNH
  • MixinExtras —— early/late JSON 要求 mixinextras.minVersion: 0.5.0

编译期语言构成:find src -name '*.scala' 与 -name '*.kt' 均为 0;309 个 .java(src/main/ 308 + src/test2/ 1)。纯 Java,无 Scala/Kotlin 混编。语言文件 2 个:en_US.lang、ja_JP.lang(ja_JP 为 HEAD 提交 add japanese (#122) 所加)。

实际注册的内容(存活)

类别 数量 说明
@Mod 注解 1 仅 CubicChunks.java:77。用 grep -rlF '@Mod(' 统计(带括号)得 1 个文件;若用裸 @Mod 子串会得 28 个文件,差额全部是 @Mixin、@Mod.EventHandler、@Optional.Method 等无关注解
方块 / 物品 / TileEntity / 实体 / 配方 各 0 grep -rn 'GameRegistry.register' src/main/java 零命中
游戏内指令 0 command/ 两个类均 abstract,无具体子类、无注册调用
网络通道 1 通道名 cubicchunks1(NetworkChannel.java:38)
网络封包 8 CCPacketEntry 枚举,:5-12
世界类型 1 VanillaCubicWorldType,显示名 Vanilla + Cubic
配置键 18 CubicChunksConfig 的 @Config.LangKey 计数(无重复键)
Mixin 注册条目 76 Mixins 枚举,其中 74 EARLY / 2 LATE
@Mixin 源文件 89 78 个已注册文件 + 11 个访问器接口
ASM 转换器 1 AddEmptyConstructorToChunk
coremod 容器 1 CubicChunksCoreContainer(modid cubicchunkscore)
存储格式 1 cubicchunks:anvil3d → RegionCubeStorage
存活的世界生成内容 2 地形目标组 caves-all;EFR 群系填充器 low-deepslate
语言键 36 条 39 行文件中的有效 key=value 数;其中 cubicchunks.command.* 共 9 条全部失效

/cubicchunks 指令并不存在。 en_US.lang:16-27 保留了一整套 cubicchunks.command.usage.* / cubicchunks.command.config.* 语言键,看起来对应上游的 /cubicchunks config set|reload 指令,但本移植只有 CubicCommandBase(abstract)与 SubCommandBase(abstract)两个空壳:无具体子类(grep 'extends SubCommandBase' 只命中 SubCommandBase 自身)、无 implements ICommand、无实例化、也无 CommandHandler.registerCommand 调用。en_US.lang:6-7 的 cubicchunks.gui.worldmenu.* 同理失效(IGuiCreateWorld 未注册且无使用者)。

世界类型列表

世界生成列表

设置列表

  • 配置文件 - 18 个 GTNHLib 配置键与 4 个被忽略的派生字段
  • 垂直视距 - 视频设置中的垂直视距滑块(2~32,装 Angelica 到 64)

网络列表

API 列表

兼容列表

存储列表

Mixin 列表

  • Mixin 集合 - 76 个注册条目、89 个 @Mixin 文件、3 个数组为空的 JSON 与 4 处模组门控