SlimeGrass
黏液岛表面的草方块。⚠️ 已订正:注册名错误;「从黏液池向四周蔓延」为源码中不存在的功能。
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | TConstruct:slime.grass |
| 类 | tconstruct.blocks.slime.SlimeGrass(MantleBlock 子类) |
| 方块材质 | Material.grass |
| 硬度 | 0.6 |
| 爆炸抗性 | 无法核实 — 源码从未调用 setResistance,故不存在该数值 |
| 脚步声 | soundTypeGrass |
| 随机刻 | setTickRandomly(true) |
| 注册辅助类 | SlimeGrassItemBlock |
| 生成来源 | SlimeIslandGen |
已订正 1:
注册名原文写作tconstruct:SlimeGrass——取自类名而非字符串实参。 证据:TinkerWorld.java:267registerBlock(TinkerWorld.slimeGrass, SlimeGrassItemBlock.class, "slime.grass")。 modid 实测为TConstruct(TConstruct.java:129)。 已订正 2:原文称「能从附近的黏液池向四周蔓延」——源码中不存在蔓延/扩散逻辑。本类只有tickRandomly标志位,没有任何updateTick覆写或向邻近方块扩散的代码。该功能无法核实为真实存在。 已订正 3:原文未给数值属性。实际setHardness(0.6f),且从未调用setResistance(SlimeGrass.java:36-37)。
Metadata 布局
| metadata | 含义 | 底面贴图 |
|---|---|---|
| 0 | 黏液草 | slimedirt_blue |
| 1 | 泥土变体 | Blocks.dirt 原版泥土 |
damageDropped:meta == 1 掉 0(泥土),否则掉 5(slime dirt)。故 meta 1 掉普通泥土,meta 0 掉黏液土。
在黏液岛中的放置条件
SlimeIslandGen 放置表层时,条件是该位置当前方块为 base(craftedSoil)且其正上方一格为空:
if (world.getBlock(xPos, yPos, zPos) == base) {
Block block = world.getBlock(xPos, yPos + 1, zPos);
if (block == null || block == Blocks.air) world.setBlock(xPos, yPos, zPos, top, 0, 2);
}
放置时 metadata 固定为 0。
⚠️ 另需说明:
SlimeIslandGen中曾有基于「y <= 4则返回 false」的岛屿底部高度校验,但该段代码整体位于/* ... */块注释内(SlimeIslandGen.java:152-154),不属于实际注册逻辑。
证据:SlimeIslandGen.java:115-121。
相关条目
- SlimeGel — 岛屿边缘弹力黏液方块
- SlimeIsland — 黏液岛生成结构
- BlueSlime — 蓝色史莱姆