跳到正文
烈焰甘蔗Wiki

Stairs (Carvable)

可雕刻楼梯方块。

基本属性

属性 值
注册名 <组名>.<序号>,如 chisel:marble_stairs.0
父类 BlockStairs (implements ICarvable)
渲染 ID RendererStairs.id
亮度补偿 useNeighborBrightness = true
方块名 setBlockName("chisel." + n)(CarvableStairsMaker.java:38)

已订正(分类页与本条目同源错误):分类页写"楼梯,8 方向变体", 原文写"marbleStairs[8] - 8 种大理石楼梯"。这两种说法都把 楼梯方块的数量误当成"方向变体"。 实际情况分两层:

  • 朝向由 metadata 表达:低 2 位是 4 个水平朝向(0~3),第 8 位是倒置标志, 即朝向相关取值共 5 种语义(0-3 + 8),不是 8 个"方向变体"。
  • 纹理变体由不同的楼梯方块承载:数组下标 i 决定该楼梯对应基础方块的 meta i*2 与 i*2+1(CarivableStairsMaker.java:32)。 证据:BlockCarvableStairs.java:64-76;CarvableStairsMaker.java:26-46。

注册的楼梯组(6 个独立组)

组名(= 变体组) 楼梯方块数 方块名 证据
marble_stairs 8 chisel:marble_stairs.0 ~ .7 Features.java:2573
limestone_stairs 8 chisel:limestone_stairs.0 ~ .7 Features.java:2461
ice_stairs 8 chisel:ice_stairs.0 ~ .7 Features.java:2071
packedice_stairs 8 chisel:packedice_stairs.0 ~ .7 Features.java:3116
concrete_stairs 6 chisel:concrete_stairs.0 ~ .5 Features.java:913
aluminum_stairs 3 chisel:aluminum_stairs.0 ~ .2 Features.java:175

重要组关系:这 6 个是彼此独立的变体组,且都不同于对应的满方块组 (marble / limestone / ice / packedice / concrete / aluminumblock)。 例如 chisel:marble_stairs.0 属于组 marble_stairs, 不能被雕刻成组 marble 里的 chisel:marble。 原文只列了"楼梯组"名称而未给出组名与该隔离关系。

每个楼梯方块向组内贡献 2 个变体:meta 0(正置)与 meta 8(倒置) (CarvableStairsMaker.java:41-42)。受 infoList.size() 上限影响, concrete_stairs 最后一个楼梯只贡献 1 个变体(:40 的条件判断)。

矿物名注册:ice_stairs → iceStairs(:2072)、 packedice_stairs → packedIceStairs(:3117)。

放置行为

onBlockPlacedBy 根据玩家朝向设置 metadata(BlockCarvableStairs.java:64-76):

  • 水平旋转:0→2, 2→3, 3→0, 1→1(原文记作 “0→2, 1→1, 2→3, 3→0”,正确)
  • 叠加 upside-down 标志 (metadata % 8)
  • 物品 damage >= 8 时 meta += 8

纹理计算

getIcon(side, metadata) 使用 carverHelper.getIcon(side, blockMeta + metadata / 8) 计算实际变体索引(BlockCarvableStairs.java:37-40)—— blockMeta 是构造时绑定的 i*2,metadata / 8 取倒置位。 damageDropped(int i) 返回 i & 0x8,只保留倒置位(:42-44)。

物品变体

getSubBlocks 固定列出两个(BlockCarvableStairs.java:50-53):

  • metadata 0: 正常方向
  • metadata 8: 倒置

原文对本节描述正确。

浏览全部模组