星象罗盘

星象罗盘

一个CC:Tweaked API桥接器,让计算机能够读取Sable/航空物理学数据——船舶姿态、质量、实体等,以世界坐标表示。

星象罗盘 是一个用于 CC: Tweaked 的数据桥接模组,它让计算机能够直接访问 机械动力:航空学 / Sable 物理引擎——这是你构建火控雷达、自动炮塔、头部追踪瞄准系统和舰船监控脚本所需的数据源。

功能特性

  • 舰船感知坐标:在物理结构上,你的计算机报告的是真实世界坐标,而非遥远的投影图纸坐标。
  • 完整物理状态:位置、朝向四元数、线/角速度、质量、质心、惯性张量以及舰船上一tick的姿态——全部在一次调用中获取。
  • 实体扫描:玩家、动物、怪物或范围内的所有实体,以世界坐标返回。完美的雷达数据源。
  • 环境物理:当前维度的重力、气压、磁北极和阻力(航空模块)。
  • pocket 电脑支持:读取持有者的位置和视角向量,用于头部追踪构建。
  • 图纸 ↔ 世界坐标变换:支持双向转换。

所有数值均直接从 Java 侧的物理引擎读取,使得调用路径很短——非常适合每 tick 轮询舰船数据的控制循环。

前置要求

  • CC: Tweaked(必需)
  • 机械动力:航空学 / Sable(可选——用于舰船和物理结构数据)

使用方法

API 以 Lua 全局变量的形式注入(不是外设):

local ac = astrocompass
print(ac.getCoord())            -- 世界坐标,具有舰船感知能力
local ship = ac.getSelfSableShip()  -- 完整物理状态表
for uuid, e in pairs(ac.getEntitiesAll(64)) do print(e.type, e.x, e.y, e.z) end

完整的 API 参考和示例脚本(雷达测试、pocket 测试、完整冒烟测试)可在 GitHub 上获取——请参阅 Source 链接。

起源

星象罗盘是对已停更的 Metaphysics(作者:KallenKas024,AGPL-3.0 协议)从零开始的重写,为 Sable 物理引擎重新实现,并以相同许可证发布。