Ad Astra 货运火箭 [非官方] 作者:SHB2

Ad Astra 货运火箭 [非官方] 作者:SHB2

这是ChiyahaRe制作的“Ad Astra Cargo Rocket [Unofficial]”的Forge兼容版本。该模组添加了一艘货运火箭,可跨维度运输物品并实现自动化。

🚀 星穹铁路货运火箭

概述

我上线了一个可以自动生成代码的网站! https://shb2-dev.github.io/cargo_rocket_generator/

我是模组制作新手,这个模组可能包含很多bug。如果你能提交一个拉取请求,我将不胜感激。

这个模组为星穹铁路增加了货运火箭,当与电脑科技:重制版结合使用时,可以自动化星际物品运输。


主要特性

✨ 多种火箭等级

每个等级都有不同的最大可抵达行星数量。与星穹铁路的火箭一样存在相同范围限制。随着火箭等级的增加,燃料和能量消耗会根据目的地增加。

✨ 火箭物品栏系统

[v1.2.4] 火箭本身现在拥有自己的物品栏(9个槽位)以及自己的燃料/货物流体储罐——这些是物品/燃料/货物真正存放的唯一场所,发射台本身不存放任何东西。

✨ 管道与漏斗集成

发射台的管道连接和漏斗可访问的槽位仍然存在,但与之前完全一样——它们不再持有自己的内容,而是直接作为当前停靠在发射台上火箭的窗口。

✨ 火箭扫描仪

[v1.2.3] 一个新物品,火箭扫描仪,让你可以通过一个GUI查看世界中所有火箭(位置、维度、飞行状态、物品栏),无需飞行出去检查它们。

✨ 电脑科技:重制版 Lua API

脚本现在可以通过Lua API完全控制火箭,使用如setRocketName(name)、setRocketStatus(status)等函数。

✨ 代码生成器

自动脚本生成工具,可在 https://shb2-dev.github.io/cargo_rocket_generator/ 获取。

✨ 可定制配置

修改config/ad_astra_cargo_rockets.json来定制目标目的地消耗和燃料效率。

✨ 增强动画

更平滑的发射和着陆动画的粒子和声音效果。改进了着陆时的方块碰撞检测。


流体与能量连接

[v1.2.4] 燃料和货物流体存放在火箭本身的储罐中,而不是发射台——但发射台的管道连接工作方式与之前完全相同。当火箭停靠在发射台上时,发射台的各个面直接作为进入该火箭自身储罐/物品栏的窗口。

面 功能
底部 燃料储罐(同步到停靠火箭的燃料储罐)
顶部/侧面 货物流体储罐(同步到停靠火箭的货物储罐)
任何面 锻造能量(FE)输入
漏斗可访问的槽位 停靠火箭的9个槽位物品栏
  • 将燃料管道连接到底部面以供应火箭燃料(例如ad_astra:fuel、ad_astra:cryo_fuel)。
  • 将流体管道连接到顶部或侧面面以运输货物液体。
  • 指向发射台的漏斗(或任何物品运输模组)直接插入/提取火箭物品栏。
  • [v1.3] 不再支持用手持桶(在发射台或火箭自身物品栏界面)填充/排空储罐——管道、漏斗和Lua API是移动燃料/货物流体的唯一方式。
  • 如果没有火箭停靠在发射台上——无论是因为发射台为空、火箭正在飞行中、还是正在降落——这些连接无处可输送,因此不会接受任何物品,如同未连接的管道一样。

版本历史

[v1.4] 错误修复

这是一个破坏性变更。 用手持桶填充/排空火箭燃料和货物储罐的功能已被移除。从玩家的角度来看,储罐现在是只读的;填充或排空它们的唯一方式是使用连接到发射台的管道/漏斗(当火箭停靠在其上时),或者通过Lua API从脚本操作。

修复:

  • 修复了物品栏界面和发射台能量条的GUI同步问题
  • 修复了火箭扫描仪的命名文本字段在输入过程中被覆盖的问题
  • 修复了方块信息叠加模组(如Jade)只显示一个流体储罐的问题
  • 改进了发射台状态改变时向所有相邻方块的更新
  • 各种GUI打磨改进

[v1.2.4] 火箭物品栏与自动化

这是一个破坏性变更。 火箭现在拥有自己的物品栏和燃料/货物流体储罐。

已移除的API:

  • moveItemsFromRocketToLaunchPad
  • moveItemsFromLaunchPadToRocket
  • listRocketInventory
  • listLaunchPadInventory
  • listLaunchPadInputSlotIndexes
  • listLaunchPadOutputSlotIndexes
  • loadAllItems/unloadAllItems

新函数:

  • isRocketInventoryEmpty() — boolean
  • getSecondsSinceLanded() — int

改进:

  • 修复了长久存在的货物流体着陆后消失的bug
  • 修复了降落火箭的碰撞检测
  • 与管道和漏斗的实时同步

[v1.2.3] 火箭扫描仪与自定义名称

  • 添加了用于全宇宙火箭追踪的火箭扫描仪物品
  • 添加了setRocketName(name) Lua函数
  • 添加了setRocketStatus(status) Lua函数
  • 改进了火箭状态管理

火箭发射台 Lua API

🚀 launch()

尝试发射当前在此发射台上的火箭。

返回:

  • boolean:成功返回true,否则返回false。

错误:

  • "No rocket found":当前发射台上没有火箭。

📍 getTargetPlanetTable()

返回一个包含从当前维度可达的所有行星及到达每个行星所需最低火箭等级的表格。

返回:

  • table<string, int>:键为行星名称,值为到达该行星所需的火箭等级。

🚀 isRocketPresent()

检查发射台上是否有火箭。

返回:

  • boolean:如果有火箭返回true,否则返回false。

🛢️ getFuel()

返回火箭燃料储罐中的当前燃料量。当火箭停靠时,发射台底部面的管道会直接写入这个相同的储罐。

返回:

  • int:当前燃料量,单位为mB。

🛢️ getMaxFuel()

返回火箭燃料储罐的最大燃料容量。

返回:

  • int:最大燃料量,单位为mB。

🛢️ getFuelType()

返回火箭燃料储罐中当前燃料的流体ID。

返回:

  • string:流体注册ID(例如"ad_astra:fuel"),如果储罐为空则返回"empty"。

🧪 getCargoFluid()

返回火箭货物储罐中的当前货物流体量。

返回:

  • int:当前货物流体量,单位为mB。

🧪 getMaxCargoFluid()

返回最大货物流体容量。

返回:

  • int:最大货物流体量,单位为mB。

🧪 getCargoFluidType()

返回火箭货物储罐中当前货物流体的流体ID。

返回:

  • string:流体注册ID,如果储罐为空则返回"empty"。

📡 setRocketStatus(status)

为当前停靠在此发射台上的火箭设置自定义状态字符串。此字符串显示在火箭扫描仪GUI中,并优先于模组的自动等待原因推测。

参数:

  • status(string):要显示的自由文本。传入空字符串以清除它并回退到模组的自动推断。

错误:

  • "No rocket found":当前发射台上没有火箭。

🏷️ setRocketName(name)

为当前停靠在此发射台上的火箭设置显示名称。该名称显示在火箭扫描仪GUI的火箭列表中。

参数:

  • name(string):要显示的名称(最多32个字符;更长的名称将被截断)。

错误:

  • "No rocket found":当前发射台上没有火箭。

🔍 火箭扫描仪

火箭扫描仪是一个新物品,让你可以追踪世界中所有货运火箭,无需飞行出去手动检查。

手持火箭扫描仪右键点击打开扫描仪GUI。左侧面板列出当前已加载到世界中的所有火箭(跨所有维度),显示其名称和位置。

从列表中选择一个火箭会显示:

  • 位置与维度——火箭当前所在位置。
  • 飞行状态——已着陆、正在上升或正在下降。
  • 正在等待——火箭为何停在发射台上。
  • 燃料/货物流体——[v1.2.4] 火箭自身储罐中的当前量和最大量。
  • 物品栏——火箭上当前携带的每个物品,逐个槽位显示。
  • 名称字段——可以直接从GUI中重命名火箭的文本框。

当GUI打开时,列表每几秒自动刷新一次,或者按刷新按钮立即更新。

关于非拉丁名称的说明: 我的世界原版的EditBox文本字段在某些平台上(例如日文、中文、韩文)存在已知的IME输入限制——输入时组合文本可能渲染不正确。这是我的世界/LWJGL的限制,不在模组的控制范围内。


附加标签

这个模组添加了物品标签denied_in_launch_pad,以防止指定物品(例如潜影盒)在发射台中使用。通过使用此标签,你可以防止非法的运输技术。


致谢

分叉来源: Ad-Astra-Cargo-Rockets-Unofficial by ChiyahaRe
URL: https://github.com/ChiyahaRe/Ad-Astra-Cargo-Rockets-Unofficial

原始分叉来源: Ad Astra Cargo Rockets by BillBodkin
URL: https://modrinth.com/mod/ad-astra-cargo-rockets