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 个面)。
相关条目
- Concrete Powder - 遇水硬化的前驱方块
- Glazed Terracotta - 同配置开关下的 1.12 移植内容
- world of color settings -
1.12 Blocks开关(config/GeneralConfig.java:178)