Concrete Powder
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | VillageNames:concretePowder(单注册名 + 16 metadata) |
| 类 | astrotibs.villagenames.block.color.BlockConcretePowder |
| 物品形式 | ItemBlockConcretePowder(block/ModBlocksVN.java:82) |
| 注册条件 | GeneralConfig.addConcrete == true |
| 材质 | Material.sand(block/color/BlockConcretePowder.java:47) |
| 硬度 | 0.5(block/color/BlockConcretePowder.java:52) |
| 挖掘等级 | 铲 / level 0(block/color/BlockConcretePowder.java:53) |
| 脚步声 | Block.soundTypeSand(block/color/BlockConcretePowder.java:54) |
| 创造标签 | CreativeTabs.tabBlock |
| 爆炸抗性 | 无法核实:全类未调用 setResistance,沿用 Block 默认值 |
功能
Concrete Powder(混凝土粉末)是 1.12 彩色方块组的移植内容,单注册名 + 16 metadata(颜色序同 Concrete,block/color/BlockConcretePowder.java:24-40)。
它是本 mod 中唯一能产出 Concrete 的途径(init/Recipes.java 中无 blockConcrete 配方)。
合成配方
无序(shapeless) 物品字典配方,共 16 条,每条产出 8 个(init/Recipes.java:61-64):
1 × <对应颜色的 dye>
4 × Blocks.sand
4 × Blocks.gravel
→ 8 × blockConcretePowder(对应颜色 meta)
即8 沙 + 4 砂砾 + 1 染料 = 8 混凝土粉末,折合每单位粉末 1 沙 + 0.5 砂砾。染料名称来自 Recipes.java:15-31 的 oreDyeNames 数组(dyeWhite … dyeBlack,标准 16 色序)。
受 GeneralConfig.addConcrete 控制(init/Recipes.java:50)。
遇水硬化
当任一相邻面为水时,粉末原位替换为同 metadata 的 Concrete(block/color/BlockConcretePowder.java:169-171):
int meta = worldIn.getBlockMetadata(x, y, z);
BlockConcrete concreteOut = ModBlocksVN.blockConcrete;
worldIn.setBlock(x, y, z, concreteOut, meta, 3);
硬度随即可从 0.5 跃升到 1.8。
水检测范围
遍历 6 个方向,仅当某方向的方块 getMaterial() == Material.water 时才触发。但底面(case 0)的判断被注释掉了(block/color/BlockConcretePowder.java:152):
//case 0: yo--; break;
case 1: yo++; break;
因此实际只检查上、北、南、西、东 5 个面,放在混凝土粉末正下方的水不会触发硬化(侧面与上方的水则可以)。
相关条目
- Concrete - 遇水硬化的产物,16 色同序
- Glazed Terracotta - 同配置开关下的 1.12 移植内容
- world of color settings -
1.12 Blocks开关(config/GeneralConfig.java:178)