Observer

基本信息

属性 值
注册名 etfuturum:observer
TileEntity 无
硬度 3.0
爆炸抗性 3.0
收获等级 0(木质镐)
渲染类型 自定义(RenderIDs.OBSERVER)

功能

观察者(Observer)是1.11版本新增的红石元件方块,可以检测其朝向方向的方块状态变化(方块被放置、破坏、或状态改变),并产生短脉冲红石信号。

检测机制:

  • observedNeighborChange() — 当邻侧方块发生状态变化时被调用
  • 调度一个随机刻的 updateTick() 延迟后,切换内部状态(meta ^= 1)并输出红石信号
  • updateTick() 中的延迟机制(random.nextInt(2))产生约2tick的脉冲

红石输出:

  • canProvidePower() = true
  • isProvidingStrongPower 和 isProvidingWeakPower 等同,返回当前元数据的信号强度
  • shouldCheckWeakPower() = false — 优化:不检查弱功率变化

渲染: 自定义渲染类型 RenderIDs.OBSERVER,具有独特的正面纹理(带眼睛图案)。observerFrontLit / observerBackLit 用于区分检测到变化时的状态。

放置: onBlockPlacedBy 设置朝向(基于玩家放置朝向)。

交互

触发 行为
邻侧方块变化 检测到变化,调度延迟脉冲
比较器邻侧 输出当前信号强度(0或1)
红石线邻侧 检测到强充能源时输出
右键 无特殊行为

相关条目

  • Target - 另一种红石触发方块
  • Piston - 可被观察者检测的移动方块