Colored Light Source

基本信息

com.mitchej123.supernova.api.ColoredLightSource 与 PositionalColoredLightSource —— 供其他 mod 实现的彩色发光方块接口。

接口 文件 抽象方法
ColoredLightSource api/ColoredLightSource.java int getColoredLightEmission(int meta)
PositionalColoredLightSource api/PositionalColoredLightSource.java int getColoredLightEmission(IBlockAccess, int meta, int x, int y, int z)

PositionalColoredLightSource extends ColoredLightSource, 因此实现位置相关版本时必须同时实现 meta 版本(源码只写了 @Override, 未给默认实现)。

两种签名的区别

维度 ColoredLightSource PositionalColoredLightSource
输入 仅 meta world + meta + 坐标
适合 苔石、彩色玻璃等固定色方块 熔岩、火把等随位置变色方块
引擎查询 LightColorRegistry 静态查表 LightColorRegistry.isPositional() 判真后实时调用

返回值必须是 PackedColorLight.pack(r, g, b) 打包的 0x0R0G0B, 每通道 0–15;返回 0 表示不发光。

配套的透光接口

形状对称:见 Colored Translucency。

相关条目

源码

  • src/main/java/com/mitchej123/supernova/api/ColoredLightSource.java
  • src/main/java/com/mitchej123/supernova/api/PositionalColoredLightSource.java