彩灯

基本信息

属性 值
注册名 computronics:colorfulLamp
方块类 pl.asie.computronics.block.BlockColorfulLamp
TileEntity pl.asie.computronics.tile.TileColorfulLamp
文档名 colorful_lamp(BlockColorfulLamp.java:34)
朝向 Rotation.NONE(BlockColorfulLamp.java:37)
光照 lightValue = 15(构造时固定,BlockColorfulLamp.java:38)
创造标签 tabComputronics(BlockColorfulLamp.java:35)
开启配置 enable.lamp,默认 true(Computronics.java:276)
附加 API MFR IRedNetInputNode(BlockColorfulLamp.java:29,@Optional.Interface)

功能

可被计算机精确调色的方块灯。颜色既可由外设/升级写入,也可经 RedNet 输入节点驱动。

实现细节(需注意):lightValue 是 Block 的实例字段,构造时设一次 15,之后由 setLightValue(int) 在运行时改写(BlockColorfulLamp.java:90-94):支持彩色光照时写入 brightness | ((b << 15) + (g << 10) + (r << 5))(:91),否则直接写 value(:93)。由于所有彩灯共用同一个方块实例,改写会影响世界内全部彩灯的实际发光值,直到该值被再次改写。彩色分支是否启用由 LampUtil.shouldColorLight() 决定(BlockColorfulLamp.java:91 上一行 :88)。

MFR 加载且玩家潜行时右击,可用手持物品改色(BlockColorfulLamp.onBlockActivated,BlockColorfulLamp.java:47-65)。

交互

触发 行为
RedNet 输入 经 IRedNetInputNode 接受颜色/开关
右击(加载 MFR 且潜行) 用手持物品改色
对话 / 外设 通过彩灯升级与灯光卡改色、开关

合成配方

无 OC / OC 共用同一份配方(ModRecipes.java:48-61,位于 OC 分支之外):

igi
glg
igi
字符 物品
i 铁锭 ingotIron
g 玻璃 blockGlassColorless
l 荧石粉 dustGlowstone

相关条目