Observer
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | etfuturum:observer |
| TileEntity | 无 |
| 硬度 | 3.0 |
| 爆炸抗性 | 3.0 |
| 收获等级 | 0(木质镐) |
| 渲染类型 | 自定义(RenderIDs.OBSERVER) |
功能
观察者(Observer)是1.11版本新增的红石元件方块,可以检测其朝向方向的方块状态变化(方块被放置、破坏、或状态改变),并产生短脉冲红石信号。
检测机制:
observedNeighborChange()— 当邻侧方块发生状态变化时被调用- 调度一个随机刻的
updateTick()延迟后,切换内部状态(meta ^= 1)并输出红石信号 updateTick()中的延迟机制(random.nextInt(2))产生约2tick的脉冲
红石输出:
canProvidePower() = trueisProvidingStrongPower和isProvidingWeakPower等同,返回当前元数据的信号强度shouldCheckWeakPower() = false— 优化:不检查弱功率变化
渲染: 自定义渲染类型 RenderIDs.OBSERVER,具有独特的正面纹理(带眼睛图案)。observerFrontLit / observerBackLit 用于区分检测到变化时的状态。
放置: onBlockPlacedBy 设置朝向(基于玩家放置朝向)。
交互
| 触发 | 行为 |
|---|---|
| 邻侧方块变化 | 检测到变化,调度延迟脉冲 |
| 比较器邻侧 | 输出当前信号强度(0或1) |
| 红石线邻侧 | 检测到强充能源时输出 |
| 右键 | 无特殊行为 |
相关条目
- Target - 另一种红石触发方块
- Piston - 可被观察者检测的移动方块