跳到正文
烈焰甘蔗Wiki

SlimeGrass

黏液岛表面的草方块。⚠️ 已订正:注册名错误;「从黏液池向四周蔓延」为源码中不存在的功能。

基本信息

属性 值
注册名 TConstruct:slime.grass
类 tconstruct.blocks.slime.SlimeGrass(MantleBlock 子类)
方块材质 Material.grass
硬度 0.6
爆炸抗性 无法核实 — 源码从未调用 setResistance,故不存在该数值
脚步声 soundTypeGrass
随机刻 setTickRandomly(true)
注册辅助类 SlimeGrassItemBlock
生成来源 SlimeIslandGen

已订正 1:注册名 原文写作 tconstruct:SlimeGrass——取自类名而非字符串实参。 证据:TinkerWorld.java:267 registerBlock(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。

相关条目

浏览全部模组