
Create: Avionics
CC: Tweaked 外设,用于 Create: Simulated 和 Create: Aeronautics。
查看大图Create: Avionics
让你的飞艇自动驾驶。
为 Create: Aeronautics 中每个可仪表化的方块提供 CC: Tweaked 外设。读取姿态、高度、速度、航向。驱动油门、螺旋桨、气球气体。用 Lua 编写你的自动驾驶仪(这个宣传语不怎么样,但确实如此!)
构建
- 热气球的高度保持
- 螺旋桨飞行器的航向与俯仰自动驾驶仪
- 绑定到方向盘的巡航控制
- 用于车载土豆加农炮的跟踪炮塔
- 任何你能为其编写控制回路的东西
开始
双引擎飞船的航向保持:
local nav = peripheral.find("navigation_table")
local port, stbd = peripheral.find("analog_transmission")
local target = nav.getHeadingRad()
while true do
local err = (target - nav.getHeadingRad() + math.pi) % (2*math.pi) - math.pi
local diff = math.max(-5, math.min(5, err * 4))
port.setSignal(7 - diff); stbd.setSignal(7 + diff)
sleep(0.05)
end
三个外设,一个 P 控制器,飞船锁定航向。每个 Aeronautics(以及几乎所有 Create)方块都是一个外设——读取传感器,设置执行器,编写你想要的回路。
不仅限于飞行器
同样的 peripheral.find() 接口驱动升降机、车辆以及你的整个旋转网络——不仅仅是会飞的东西。
Create Elevators —— 枚举楼层,呼叫轿厢,读取其位置:
local lift = peripheral.find("Create_ElevatorPulley")
lift.setTargetFloor(lift.getFloors()[3].y) -- 将轿厢送到第 3 层
repeat sleep(0.1) until lift.isArrived()
print("已到达: " .. lift.getCurrentFloor().short_name)
Kinetic SCADA —— 遍历旋转网络,过载时报警:
local draw, capacity = 0, 0
for _, name in ipairs(peripheral.getNames()) do
local p = peripheral.wrap(name)
if p.getNetworkId then -- 任何动力方块
draw = draw + p.getStressImpact()
capacity = capacity + p.getStressContribution()
if p.isOverstressed() then
print("过载 " .. p.getSelfId() .. " (" .. p.getKind() .. ")")
end
end
end
print(("网络负载: %.0f / %.0f SU"):format(draw, capacity))
载具 —— 方向盘安装座的转向和刹车覆盖:
for _, w in ipairs({ peripheral.find("wheel_mount") }) do
w.setSteering(0.5) -- -1..1 -> +/-30 度
if w.getTouchingFriction() < 0.5 then w.setBrake(0) end -- 在光滑表面上松开刹车
end
getKind、getSubnetworkAnchorId、getColumnContacts、getTouchingFriction —— 读取端和写入端一样丰富。
完整 API 文档 —— 单位、机体坐标系约定、每个方法。
阅读并行指南。5 Hz 和 20 Hz 的感觉截然不同。
安装
需要: MC 1.21.1 · NeoForge 21.1.219+ · Create 6.0.10+ · Simulated/Aeronautics/Offroad 1.2.1+ · Sable 1.1.0+ · CC: Tweaked 1.115+
搭配
源码 · 问题
github.com/SolAstrius/CreateAvionics
MIT 许可。基于 Simulated 中 RyanHCode 的 CC 外设基础构建——NOTICE。
由本人创作,Sol Astrius Phoenix。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。