Redstone Lamp (Carvable) —— 源码中存在,但未注册
⚠️ 已订正(重要):原文把
BlockCarvableLamp当作游戏内真实可获取的方块。 该类从未被实例化、从未注册、也不属于任何变体组——全仓库对BlockCarvableLamp的引用只出现在它自己的文件里 (已全量 grep 确认:BlockCarvableLamp.java:12-28之外 0 处引用;Features.java中Lamp/lamp0 处命中)。因此游戏内不存在chisel:命名空间下的红石灯方块。原文的"注册名/变体/物品掉落"等描述 虽与类代码一致,但把它当作已上线内容属于事实错误。
类基本信息(源码实际内容)
| 属性 | 值 | 证据 |
|---|---|---|
| 父类 | BlockCarvable |
BlockCarvableLamp.java:12 |
| 材质 | Material.redstoneLight |
:19、:30 |
| 硬度 | 0.3F | :24、:37 |
| 激活亮度 | setLightLevel(1.0F)(仅 powered 构造器) |
:36 |
| 注册状态 | 未注册 | 全仓库无引用 |
| 变体组 | 无 | — |
类内已实现的行为
两个构造器互相持有对方,构成未激活/激活配对(:18-26、:28-38):
blockUnpowered— 未激活实例(this)blockPowered— 激活实例,setLightLevel(1.0F),共享同一个carverHelper
checkPower 用 world.isBlockIndirectlyGettingPowered(x, y, z) 判定,
在 blockUnpowered / blockPowered 之间 setBlock(..., 2) 切换(:40-52)。
| 触发 | 行为 | 证据 |
|---|---|---|
onBlockAdded |
调用 checkPower |
:55-57 |
onNeighborBlockChange |
调用 checkPower |
:60-62 |
getItemDropped |
返回 Item.getItemFromBlock(blockUnpowered) |
:69-71 |
getPickBlock |
返回 new ItemStack(blockUnpowered, 1, meta) |
:74-76 |
updateTick 有一段被注释掉的原版红石灯逻辑(BlockCarvableLamp.java:64-68,
行首为 /*),不参与编译。
结论
该类属于未完成的遗留代码。若要启用需要自行改写注册代码。