Ad Astra Cargo Rocket [Unofficial] by SHB2
Modby shishen575_dev
This is a Forge-compatible version of “Ad Astra Cargo Rocket [Unofficial]” by ChiyahaRe. This mod adds a cargo rocket that transports items across dimensions and enables automation.
Type
Mod
CurseForge Downloads
405
CurseForge ID
1566741
Last Updated
Aug 22, 2026
Description
🚀 Ad Astra Cargo Rockets
Overview
I've launched a website that automates code generation! https://shb2-dev.github.io/cargo_rocket_generator/
I'm new to modding. This mod may contain many bugs. I would really appreciate it if you could submit a pull request.
This mod adds cargo rockets to Ad Astra and, when used in conjunction with CC:tweaked, allows for the automation of interplanetary item transport.
Key Features
✨ Multiple Rocket Tiers
Each tier has a different maximum number of planets it can reach. The same range limitations apply as for AdAstra's rockets. With the addition of rocket tiers, fuel and energy consumption now increases depending on the destination.
✨ Rocket Inventory System
[v1.2.4] The rocket itself now has its own inventory (9 slots) and its own fuel/cargo fluid tanks — these are the only place the items/fuel/cargo actually live, the launchpad itself holds nothing.
✨ Pipe & Hopper Integration
The launchpad's pipe connections and hopper-accessible slots are still there exactly as before — but instead of holding their own contents, they now act as a direct window into whichever rocket is currently grounded on the pad.
✨ Rocket Scanner
[v1.2.3] A new item, the Rocket Scanner, lets you view every rocket in the world (position, dimension, flight state, inventory) from a single GUI without flying out to check on them.
✨ CC:tweaked Lua API
Scripts can now control rockets fully via the Lua API with functions like setRocketName(name), setRocketStatus(status), and more.
✨ Code Generator
Automatic script generation tool available at https://shb2-dev.github.io/cargo_rocket_generator/
✨ Customizable Configuration
Change config/ad_astra_cargo_rockets.json to customize target destination cost and fuel efficiency.
✨ Enhanced Animations
Particles and sounds for smoother launch and landing animations. Block collision detection improved for landing.
Fluid & Energy Connection
[v1.2.4] Fuel and cargo fluid live in tanks on the rocket itself, not the launchpad — but the launchpad's pipe connections work exactly as they did before. While a rocket is grounded on the pad, the launchpad's faces act as a direct window into that rocket's own tanks/inventory.
Side Function Bottom Fuel tank (synced to the grounded rocket's fuel tank) Top / Sides Cargo fluid tank (synced to the grounded rocket's cargo tank) Any side Forge Energy (FE) input Hopper-accessible slots The grounded rocket's 9-slot inventory- Connect fuel pipes to the bottom face to supply rocket fuel (e.g. ad_astra:fuel, ad_astra:cryo_fuel).
- Connect fluid pipes to the top or side faces to transport cargo liquids.
- Hoppers (or any item-transport mod) pointed at the launchpad insert into / extract from the rocket's inventory directly.
- [v1.3] Filling/draining the tanks with a bucket by hand (either at the launchpad or from the rocket's own inventory screen) is no longer supported — pipes, hoppers, and the Lua API are the only ways to move fuel/cargo fluid in or out.
- If no rocket is grounded on the pad — empty, mid-flight, or still descending — these connections have nowhere to deliver to and simply accept nothing, the same as an unconnected pipe.
Version History
[v1.4] Bug Fixes
This is a breaking change. Filling/draining the rocket's fuel and cargo tanks with a bucket has been removed. The tanks are now read-only from the player's perspective; the only way to fill or drain them is via pipes/hoppers connected to the launchpad while a rocket is grounded on it, or from a script via the Lua API.
Fixes:
- Fixed GUI sync for inventory screens and launchpad energy bar
- Fixed Rocket Scanner's rename text field being overwritten mid-typing
- Fixed block-info overlay mods (e.g. Jade) showing only one fluid tank
- Improved block updates to all neighbors when launchpad state changes
- Various GUI polish improvements
[v1.2.4] Rocket Inventory & Automation
This is a breaking change. The rocket itself now has its own inventory and fuel/cargo fluid tanks.
Removed APIs:
- moveItemsFromRocketToLaunchPad
- moveItemsFromLaunchPadToRocket
- listRocketInventory
- listLaunchPadInventory
- listLaunchPadInputSlotIndexes
- listLaunchPadOutputSlotIndexes
- loadAllItems/unloadAllItems
New Functions:
- isRocketInventoryEmpty() — boolean
- getSecondsSinceLanded() — int
Improvements:
- Fixed long-standing bug where cargo fluid would disappear on landing
- Fixed collision detection for descending rockets
- Real-time sync with pipes and hoppers
[v1.2.3] Rocket Scanner & Custom Names
- Added Rocket Scanner item for world-wide rocket tracking
- Added setRocketName(name) Lua function
- Added setRocketStatus(status) Lua function
- Improved rocket state management
Rocket Launchpad Lua API
🚀 launch()
Attempt to launch the rocket currently on this launchpad.
Returns:
- boolean: true if successful, false otherwise.
Errors:
- "No rocket found": No rocket is currently on the launchpad.
📍 getTargetPlanetTable()
Returns a table of all planets reachable from this dimension and the minimum rocket tier needed to reach each one.
Returns:
- table<string, int>: Table with the key being the planet and the value being the required rocket tier to reach it.
🚀 isRocketPresent()
Checks whether a rocket is present on the launchpad.
Returns:
- boolean: true if a rocket is present, false otherwise.
🛢️ getFuel()
Returns the current fuel amount in the rocket's fuel tank. While a rocket is grounded, the launchpad's BOTTOM-face pipe writes directly into this same tank.
Returns:
- int: Current fuel in mB.
🛢️ getMaxFuel()
Returns the maximum fuel capacity of the rocket's fuel tank.
Returns:
- int: Maximum fuel in mB.
🛢️ getFuelType()
Returns the fluid ID of the fuel currently in the rocket's fuel tank.
Returns:
- string: Fluid registry ID (e.g. "ad_astra:fuel"), or "empty" if the tank is empty.
🧪 getCargoFluid()
Returns the current amount of cargo fluid in the rocket's cargo tank.
Returns:
- int: Current cargo fluid in mB.
🧪 getMaxCargoFluid()
Returns the maximum cargo fluid capacity.
Returns:
- int: Maximum cargo fluid in mB.
🧪 getCargoFluidType()
Returns the fluid ID of the cargo fluid currently in the rocket's cargo tank.
Returns:
- string: Fluid registry ID, or "empty" if the tank is empty.
📡 setRocketStatus(status)
Sets a custom status string on the rocket currently sitting on this launchpad. This string is shown in the Rocket Scanner GUI and takes priority over the mod's automatic wait-reason guess.
Parameters:
- status (string): Free-form text to display. Pass an empty string to clear it and fall back to the mod's automatic inference.
Errors:
- "No rocket found": No rocket is currently on the launchpad.
🏷️ setRocketName(name)
Sets a display name on the rocket currently sitting on this launchpad. The name is shown in the Rocket Scanner GUI's rocket list.
Parameters:
- name (string): Name to display (max 32 characters; longer names are truncated).
Errors:
- "No rocket found": No rocket is currently on the launchpad.
🔍 Rocket Scanner
The Rocket Scanner is a new item that lets you keep track of every cargo rocket in the world without needing to fly out and check on them manually.
Right-click with the Rocket Scanner in hand to open the scanner GUI. The left panel lists every rocket currently loaded in the world (across all dimensions), showing its name and position.
Selecting a rocket from the list shows:
- Position & dimension — where the rocket currently is.
- Flight state — Grounded, Ascending, or Descending.
- Waiting on — why the rocket is sitting on the pad.
- Fuel / Cargo fluid — [v1.2.4] the current and max amount in the rocket's own tanks.
- Inventory — every item currently aboard the rocket, slot by slot.
- Name field — a text box to rename the rocket directly from the GUI.
The list refreshes automatically every couple of seconds while the GUI is open, or press the Refresh button to update immediately.
Note on non-Latin names: Minecraft's vanilla EditBox text field has known limitations with IME input (e.g. Japanese, Chinese, Korean) on some platforms — composed text can render incorrectly while typing. This is a Minecraft/LWJGL limitation outside the mod's control.
Additional Tags
This mod adds the itemtag denied_in_launch_pad to prevent specified items from being used in launch pads (e.g. shulker box). By using this tag, you can prevent illegal transport techniques.
Credit
Fork Source: Ad-Astra-Cargo-Rockets-Unofficial by ChiyahaRe
URL: https://github.com/ChiyahaRe/Ad-Astra-Cargo-Rockets-Unofficial
Original Fork Source: Ad Astra Cargo Rockets by BillBodkin
URL: https://modrinth.com/mod/ad-astra-cargo-rockets
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Screenshots
Similar Mods
Legendary Relics
This mod has added several curios that can be discovered during exploration, as well as a set of armor for the end of t...
Create: Bits 'n' Dyes
Extended dye customisation for Bits 'n' Bobs
Dimensional TRAPdoors
adds trapdoors that send you to a dimension of YOUR choice!
Technoblade is dead...(t.i.d.)
This Mod Adds Technoblade to The Game... May He Live Forever.
Player Size Changer
This is a datapack with which you can change your size between 5 different sizes. Each one of them also changes other at...
JCraft: Polished (JOJO, JJBA)
This mod adds slab, stair, wall and pressure plate variants to the Polished Meteorite Block from JCraft: Eyes Of Ender!