类生木木板
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | blockCustomPlank |
| 完整名 | salisarcana:blockCustomPlank |
| 方块类 | common/blocks/BlockPlank.java(51 行) |
| 物品形式 | common/item/BlockPlankItem.java(ItemBlock 子类) |
| 注册入口 | CustomBlocks.registerBlocks() → GameRegistry.registerBlock,CustomBlocks.java:27 |
| 开关 | enhancements.enableLookalikePlanks(默认开启) |
| 材质 | Material.wood |
| 创造模式标签页 | Thaumcraft.tabTC |
功能
Thaumcraft 4 的生木/银木木板不是普通木板——它们有自己的方块行为(会燃烧出特殊火焰、 不能像普通木板那样做台阶等)。本方块提供一对行为正常的替代品,材质直接复用 Thaumcraft 自己的贴图,让「看起来一样、用起来正常」。
整个注册由开关 SalisConfig.features.lookalikePlanks 控制,关闭时本方块根本不会注册
(CustomBlocks.java:19-21)。
数值
| 属性 | 值 | 源码 |
|---|---|---|
| 硬度 | 2.5F |
BlockPlank.java:24 |
| 抗爆炸/抗力 | 10.0F |
BlockPlank.java:25 |
| 脚步声音 | soundTypeWood |
BlockPlank.java:26 |
| 掉落元数据 | 与放置元数据相同(damageDropped 返回 meta) |
BlockPlank.java:44-46 |
| 最大堆叠 | 64(ItemBlock 默认,未覆写) |
— |
对照:Thaumcraft 4 自己的
thaumcraft.common.blocks.BlockWoodenDevice设定的 硬度 2.5、抗力 10.0、脚步声soundTypeWood与本方块完全一致 (thaumcraft4/thaumcraft/common/blocks/BlockWoodenDevice.java中setHardness(2.5F)、setResistance(10.0F)、setStepSound(soundTypeWood)三句)。 因此本方块在物理属性上并非「更硬」,差异只在方块行为。 注意mirror/thaumcraft4是反编译产物(源码带/* */行标记), 上述数值取自其可读语句,不依赖对反编译语义的推断。
变种
一个方块,两个元数据变种:
| 元数据 | 本地化名称 | 贴图 | 矿石字典 |
|---|---|---|---|
| 0 | tile.blockWoodenDevice.6(生木) |
thaumcraft:planks_greatwood |
plankGreatwood |
| 1 | tile.blockWoodenDevice.7(银木) |
thaumcraft:planks_silverwood |
plankSilverwood |
- 本地化名与贴图:
BlockPlankItem.getUnlocalizedName()(BlockPlankItem.java:17)、BlockPlank.registerBlockIcons()(BlockPlank.java:33-34) - 贴图取自
thaumcraft资源域,不是salisarcana域 - 物品形式启用了
setHasSubtypes(true)并覆写getMetadata透传 (BlockPlankItem.java:12、BlockPlankItem.java:21-23) - 创意模式下列出两个变种(
BlockPlank.java:39-40)
矿石字典注册
registerLookaLikePlanks() 一次性写入 5 条矿石字典(CustomBlocks.java:29-35):
| 矿石名 | 绑定内容 | 作用 |
|---|---|---|
plankWood |
salisarcana:blockCustomPlank + WILDCARD_VALUE |
让本方块被当作普通木板参与合成 |
plankGreatwood |
本方块 meta 0 | 标记生木 |
plankSilverwood |
本方块 meta 1 | 标记银木 |
plankGreatwood |
ConfigBlocks.blockWoodenDevice meta 6 |
同时把 TC4 原本的木质设备方块纳入 |
plankSilverwood |
ConfigBlocks.blockWoodenDevice meta 7 |
同上 |
后两条是关键设计:把 TC4 自己的木板也注册进同一矿石名,
这样任何按 plankGreatwood 查找的配方(无论来自本模组还是别的模组)都会看到两者。
CustomBlocks.java:28有一条就地待办注释,原文为// To-do: is this needed? It appears to break the ore-dicted slab and stair recipes, 对plankWood注册是否必要表示疑问,并称其会破坏矿石字典化的台阶与楼梯配方。 仓库中没有其他证据表明这行应当被删除,注释本身也不构成缺陷判定, 故此处仅如实记录,不据此断言问题。
合成配方
本方块自身没有合成配方——它的存在意义就是作为产物被
CustomRecipes.registerPlankRecipes() 使用,为生木/银木各生成一对木板配方,
并配套注册台阶配方(CustomRecipes.java:108、CustomRecipes.java:171、
CustomRecipes.java:176、CustomRecipes.java:200)。详见
补丁注册框架 与 配方组配置。
交互
普通木门的全部交互:可燃(Material.wood)、可被斧加速、掉落自身。
两个变种共享同一物品 ID,通过元数据区分。
相关条目
- 法杖组件占位物品
- 矿石字典 —
plankGreatwood/plankSilverwood的定义 - 功能增强组 —
enableLookalikePlanks及其他配方开关 - Salis Arcana — 模组总览