跳到正文

Create: Avionics — ComputerCraft for Aeronautics – Reforged

作者:NoxCrafted

Create: Avionics 的非官方 NeoForge 1.21.1 版本,可让 CC:Tweaked 电脑与 Create Aeronautics 载具互联。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

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

三个外设,一个比例控制器,飞船便能锁定航向。Aeronautics 中的每个方块(以及几乎所有 Create 方块)都是外设——读取传感器、设置执行器,编写你想要的控制回路。

不止用于飞行器

同一套 peripheral.find() 接口也能驱动升降机、载具和整个旋转网络——不只适用于飞行器。

Create Elevators —枚举楼层、呼叫轿厢、读取轿厢位置:

local lift = peripheral.find("Create_ElevatorPulley")
lift.setTargetFloor(lift.getFloors()[3].y)   -- send the cabin to the 3rd floor
repeat sleep(0.1) until lift.isArrived()
print("Arrived: " .. lift.getCurrentFloor().short_name)

动力网络监控 —遍历旋转网络,在过载时触发警报:

local draw, capacity = 0, 0
for _, name in ipairs(peripheral.getNames()) do
    local p = peripheral.wrap(name)
    if p.getNetworkId then                       -- any kinetic block
        draw     = draw     + p.getStressImpact()
        capacity = capacity + p.getStressContribution()
        if p.isOverstressed() then
            print("OVERSTRESSED " .. p.getSelfId() .. " (" .. p.getKind() .. ")")
        end
    end
end
print(("Network load: %.0f / %.0f SU"):format(draw, capacity))

载具 —覆盖车轮安装座上的转向和制动:

for _, w in ipairs({ peripheral.find("wheel_mount") }) do
    w.setSteering(0.5)                                       -- -1..1  ->  +/-30 deg
    if w.getTouchingFriction() < 0.5 then w.setBrake(0) end  -- ease off on slippery stuff
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+

可搭配

ccc · create-computercraft

常见问题

Create: Avionics — ComputerCraft for Aeronautics – Reforged 支持哪些 Minecraft 版本?

Create: Avionics — ComputerCraft for Aeronautics – Reforged 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

Create: Avionics — ComputerCraft for Aeronautics – Reforged 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

NoxCrafted 的其他作品

查看全部 →