Carpenter’s Blocks

[!INFO] Git Commit: 0ef22db (tag 3.7.3-GTNH) | Updated: 2026-10-02

Carpenter’s Blocks 是 GTNH 整合包中的装饰方块模组,作者 Mineshopper, 仓库 GTNewHorizons/CarpentersBlocks。核心卖点是斜方块(slopes) 与一批原版风格的方块,均支持盖板(covers)、侧盖板、覆盖层(overlays)、 染色与凿刻图案。

mcmod.info 官方描述: "Adds slopes and a variety of vanilla-inspired blocks that support covers, side covers, overlays, dyes and chiseled patterns."

属性 实测值
modid CarpentersBlocks
modName Carpenter's Blocks(带撇号 ',非 ASCII,CarpentersBlocks.java:20)
资源域 carpentersblocks(全小写,与 modid 不一致)
主包 com.carpentersblocks
Java 文件 140
注册方块 18(1 个恒开 + 17 个受配置开关控制)
注册 TileEntity 9(其中 3 个是兼容映射)
注册物品 5
实体 1(EntityCarpentersTile,受开关控制)
语言文件 16
硬依赖 仅 Forge:required-after:Forge@[10.13.0.1180,)
其它模组依赖 无
版本字段 GRADLETOKEN_VERSION(构建期占位符,:21)

[!IMPORTANT] 本 mod 不依赖任何其它模组 @Mod 依赖串只有 required-after:Forge@[10.13.0.1180,) (CarpentersBlocks.java:22)——唯一的依赖是 Forge 本身。 它是本批次四个 mod 中依赖最轻的一个。 mcmod.info 的 modid / name / version / mcversion 全是 ${modId} 等占位符,不可用。

[!IMPORTANT] 裁定:本 mod 不是「多方块结构」模组 名字里的 “Blocks” 容易被误读成 multiblock。实测:

  • 全仓只有 1 个 多方块实现:GarageDoor extends AbstractMultiBlock (GarageDoor.java:23)
  • FeatureRegistry.multiBlockSizeLimit 默认 500 (FeatureRegistry.java:30),其配置注释明写 “only applies to Garage Doors”(FeatureRegistry.java:62)

除了车库门(garage door)之外,本 mod 没有任何多方块。 「斜方块」(slope)是 45° 斜面方块,不是多方块; 「楼梯」(stairs)继承 BlockCoverable,不是多方块结构。 没有控制器(controller)方块——车库门是「相邻同型方块自动并成一个实体」, 由 AbstractMultiBlock.getBlocks() 沿 ForgeDirection 方向扫描相邻方块 来确定范围(AbstractMultiBlock.java:24–:30),不需要玩家放置控制器。

注册机制:几乎全部可配置关闭

BlockRegistry.registerBlocks()(BlockRegistry.java:292)中, 17 个方块各自包在 if (enableXxx) 里(实测 17 处 if (enable), 只有 blockCarpentersBlock 恒定注册,源码注释写明原因:

/* Carpenter's Block is always enabled because recipes rely on it. */ (BlockRegistry.java:293)

即因为配方依赖。因此「18 个方块」是全部开关打开时的数量; 关闭任一开关该方块就不会注册(此时引用它的配方也会失效)。

方块开关共 17 个,物品开关共 3 个(ItemRegistry.java)。

方块列表

共 18 个方块。除木匠方块外均受配置开关控制。

核心

门类

  • 车库门 - blockCarpentersGarageDoor,唯一的多方块

功能方块

红石与装饰

TileEntity 列表

共 9 次 GameRegistry.registerTileEntity (CommonProxy.java:53–:62),其中 3 个是向后兼容映射:

注册名 实际类 备注
TileEntityCarpentersSlope TEBase 兼容映射
TileEntityCarpentersBed TEBase 兼容映射
TileEntityCarpentersBlock TEBase 正式
TileEntityCarpentersExt TECarpentersDaylightSensor 兼容映射
TileEntityCarpentersDaylightSensor TECarpentersDaylightSensor 正式
TileEntityCarpentersFlowerPot TECarpentersFlowerPot 正式
TileEntityCarpentersSafe TECarpentersSafe 正式
TileEntityCarpentersTorch TECarpentersTorch 正式
TileEntityCarpentersGarageDoor TECarpentersGarageDoor 正式

9 ≠ 9 个独立 TileEntity 类:只有 6 个是正式注册, 另外 3 个是旧存档兼容映射,指向已合并的通用类。 写「本 mod 有 9 个 TileEntity 类」是错的。

物品列表

共 5 个物品(ItemRegistry.java):

实体列表

  • 瓦片实体 - EntityCarpentersTile,受 enableTile 控制

系统