Sable: 子层级探测

Sable: 子层级探测

一个传感器,可根据你的Sable子层的占用状态提供红石信号,并可选择提供CC: Tweaked反馈。

技术

 

Sable:子层级检测

死亡开关

Sable 2.0.0+ 必需(已在 2.0.5 上测试)

  此模组添加了一个名为“占用传感器”的全新红石组件。将此传感器放置在 Sable 子层级上时,若有任何玩家占用该子层级,它便会提供红石信号。该传感器也可以通过空手右键点击来反转模式,在子层级无人占用时提供红石信号。

 

    此模组是围绕“死亡开关”的概念开发的。只需将占用传感器放置在离合器旁边,为你的推进方式提供旋转动力,并将其设置为反转模式。现在,当你离开载具时,它会被登记为无人占用,传感器发出的红石信号便会切断引擎的动力。

    虽然这看起来很简单,但其用途的可能性比表面看起来要深得多,尤其是在加入了可选的 CC: Tweaked 支持后。如果安装了 CC: Tweaked,你可以通过外设 API 包装占用传感器,并在 CraftOS 中获得 5 个新函数。

    • getOccupancyCount() - 返回一个整数,表示当前占用该子层级的玩家数量。     • getOccupantsNames() - 返回一个包含所有占用者游戏内名称的表格。     • getOccupantsUUIDs() - 返回一个包含所有占用者 UUID 的表格。     • getInversionState() - 返回一个布尔值,表示传感器当前是否处于反转状态。     • setInversionState(boolean) - 改变传感器的反转状态。

通过使用这些函数,该传感器超越了简单的红石逻辑,允许你利用子层级来查询区域性游戏状态,根据是否有人在场以及是谁在场来自动化后勤。

一些例子可以是:

    • 一个使用 Create: Coasters 模拟的过山车,当特定数量的乘客上车后自动开始倒计时。          • 一个能够追踪等待服务的新顾客的咖啡馆。          • 一个跑酷课程,其平台会随着玩家的踩踏而开始移动。          • 一个驾驶舱,只有当船长的 UUID 在船上方时,其门才会打开。  
    • 一个家,每个房间的地板都是一个独特的子层级,使得安全系统可以准确地告诉你入侵者位于哪个房间。     

这个小小的方块开启了许多载具协议、小游戏、家庭自动化和角色扮演应用的无限可能。

这是我制作的第一个模组,因此,可能存在一些不可预见的错误。如果你遇到了任何问题,请在 GitHub 工单中提供相关细节、截图、视频或复现步骤。