Concrete

基本信息

属性 值
注册名 VillageNames:concrete(单注册名 + 16 metadata)
类 astrotibs.villagenames.block.color.BlockConcrete
物品形式 ItemBlockConcrete(block/ModBlocksVN.java:79)
注册条件 GeneralConfig.addConcrete == true
材质 Material.rock
硬度 1.8(block/color/BlockConcrete.java:50)
挖掘等级 镐 / level 0(block/color/BlockConcrete.java:51)
脚步声 Block.soundTypeStone(block/color/BlockConcrete.java:52)
创造标签 CreativeTabs.tabBlock
爆炸抗性 无法核实:全类未调用 setResistance,沿用 Block 默认值

功能

Concrete(混凝土)是 1.12 彩色方块组的移植内容,共 16 种颜色,以单注册名 + 16 个 metadata 实现(block/color/BlockConcrete.java:22-38 定义颜色序,:60-67 一次性输出全部 16 个变体到创造栏)。

颜色顺序为标准 Minecraft 染料序:白、橙、品红、淡黄、黄、黄绿、粉、灰、淡灰、青、紫、蓝、棕、绿、红、黑。显示名见 en_US.lang:53-68。

damageDropped 直接返回 metadata(block/color/BlockConcrete.java:55-59),颜色索引无需重映射(与 Glazed Terracotta 的 4 分片方案不同)。

纹理

图标注册为 "minecraft:concrete_" + 颜色名(block/color/BlockConcrete.java:69-74)——即纹理位于原版命名空间 assets/minecraft/textures/blocks/concrete_*.png 下(源码中原本的 villagenames: 版本被注释保留在上一行)。

合成配方

本 mod 未注册混凝土的合成配方。已核对 init/Recipes.java:该文件只注册了带釉陶瓦的熔炼配方(:53-58)与混凝土粉末的无序配方(:61-64),没有 blockConcrete 的产出配方。

实际上,混凝土在本 mod 中是 Concrete Powder 遇水硬化的产物(见下)。

硬化机制

BlockConcretePowder 在检测到任一相邻面为水时,会把自身替换为同 metadata 的混凝土方块:

worldIn.setBlock(x, y, z, concreteOut, meta, 3);

(block/color/BlockConcretePowder.java:169-171)

水通过遍历 6 个方向、检查 getMaterial() == Material.water 来判定(block/color/BlockConcretePowder.java:150-164;注意底面 case 被注释掉,只检查 5 个面)。

相关条目