星际货运火箭

星际货运火箭

一个适用于 Ad Astra 的附加组件,允许火箭自动化以在行星之间运输货物

技术


极早期 Alpha 版本!

本模组添加了可以用于在行星之间运输货物的自动化火箭。使用 CC:Tweaked 电脑通过以下 API 来控制火箭:

火箭发射台 Lua API

此 API 允许你从 CC:Tweaked 电脑控制火箭发射台。它提供了发射火箭、管理库存以及检查能量的函数。


连接

你必须将电脑连接到发射台的中心方块才能访问以下方法。 连接到外部方块将允许你访问通用库存方法。


📦 库存槽位索引

  • Lua 中所有库存槽位索引从 1 开始,与 CC:Tweaked 的惯例一致。

🧨 launch(planet)

尝试将火箭发射到指定行星。(参见 getValidDestinations)

参数

  • planet (string):目标行星的名称。

错误

  • "No rocket found" – 发射台上没有火箭。
  • "<planet> is not a valid planet" – 指定的行星名称无效。
  • "Not enough energy to launch" – 发射台能量不足。
  • "<planet> is too high of a tier for this rocket" – 火箭等级对于目标行星而言过低。

📥 moveItemsFromRocketToLaunchPad(rocketSlot, launchPadSlot)

将物品从火箭的库存移动到发射台的库存。

参数

  • rocketSlot (int):火箭库存中的槽位。
  • launchPadSlot (int):发射台库存中的槽位。

错误

  • "No rocket found"
  • "Destination full"
  • "Invalid slot"

📤 moveItemsFromLaunchPadToRocket(launchPadSlot, rocketSlot)

将物品从发射台的库存移动到火箭的库存。

参数

  • launchPadSlot (int):发射台库存中的槽位。
  • rocketSlot (int):火箭库存中的槽位。

错误

  • "No rocket found"
  • "Destination full"
  • "Invalid slot"

⚡ getEnergyRequiredForLaunch()

返回发射火箭所需的能量。

返回值

  • int:所需能量。

🔋 getEnergy()

返回发射台中当前存储的能量。

返回值

  • long:当前能量。

🔋 getMaxEnergy()

返回发射台的最大能量容量。

返回值

  • long:最大能量。

🌍 getValidDestinations()

返回一个有效目标行星名称的表,键为行星,值为到达该行星所需的火箭等级。

返回值

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

📦 listLaunchPadInventory()

返回发射台当前非空的库存。

返回值

  • table<int, table>:将槽位索引映射到物品表的表,包含:
    • name (string):显示名称。
    • id (string):注册 ID。
    • count (int):堆叠数量。
    • max_count (int):最大堆叠数量。

📥 listLaunchPadInputSlotIndexes()

列出哪些槽位索引被视为输入槽位。 这些是漏斗和其他物品运输模组可以插入的槽位。

返回值

  • int[]:输入槽位索引列表(从 1 开始)。

📤 listLaunchPadOutputSlotIndexes()

列出哪些槽位索引被视为输出槽位。 这些是漏斗和其他物品运输模组可以提取的槽位。

返回值

  • int[]:输出槽位索引列表(从 1 开始)。

🚀 isRocketPresent()

检查发射台上是否存在火箭。

返回值

  • boolean:如果存在火箭则为 true,否则为 false。

🚀 listRocketInventory()

返回火箭当前非空的库存。

返回值

  • table<int, table>|nil:如果存在火箭,则为将槽位索引映射到物品数据的表;如果未找到火箭,则为 nil。物品表包含:
    • name (string):显示名称。
    • id (string):注册 ID。
    • count (int):堆叠数量。
    • max_count (int):最大堆叠数量。