BlockSkylight
基本信息
| 属性 | 值 |
|---|---|
| 类名 | remoteio.common.block.BlockSkylight |
| 注册名 | skylight |
| TileEntity | 无 |
| ItemBlock | 无(两参 registerBlock) |
| 纹理 | blank + 按面选取的连接纹理 |
功能
6 面的「天光」方块:每个面独立判断该方向是否为露天, 是则该面透光(发光等级 15),否则不透光。用于按方向导光。
实现要点
- ⚠️
getIcon/ 渲染相关方法里那个switch (par5)的case 0…case 5是 6 个朝向(side)分支,不是 6 个 metadata。本方块实际只有 2 种语义状态:getBlockMetadata(...) == 0时返回blank且lightValue为 255, 非 0 时走getConnectedBlockTexture(...)按邻居计算连接纹理(BlockSkylight.java:64-80)。 不要把case 0..5误读成「6 个 meta」。 - 该方块没有 TileEntity 也没有 ItemBlock,因此玩家在物品栏中拿不到它, 只能靠 ModRecipes 的配方合成。
- 通过 BlockUpdateTicker 登记方块更新:
meta 0 用 2 tick 周期,meta 1 用 0 tick 周期(
BlockSkylight.java:45-58)。 - 光照值按 meta 分支返回 255 / 0。
相关条目
- ModRecipes - 合成配方
- BlockUpdateTicker - 方块更新调度
- ModBlocks - 注册位置