Sail your Create: Aeronautics airship through a portal and the whole ship goes with you. Players, passengers, decorations, and item frames travel together. AeroPortals is the bridge between Create's airships (Sable physics) and Minecraft's portal system.
Status: public beta. The core flow works end-to-end and is covered by 39 automated tests, but expect rough edges. See Known limitations.
Sable is a deeply intrusive physics mod and stability is never guaranteed. Always back up your worlds before flying through portals. If something goes wrong, please report it on our issue tracker with logs and a reproduction case. We will do our best to accommodate new feature requests alongside bug fix updates.
-
Nether portals Fly your airship into a nether portal and you and the ship arrive on the other side. Wide ship? Build a wide portal. AeroPortals matches the source portal's dimensions at the destination and generates one if needed. The linking portal is always placed inside the playable layer of the Nether, never on top of the bedrock roof, even if your source portal was at a high Y in the Overworld.
-
End portals Sail onto an end portal and the ship lands at the vanilla End spawn point. The 5x5 obsidian spawn pad is rebuilt if missing. Travelling back from the End drops you near world spawn.
-
Onboard portal jump drives (off by default; enable
onboard_portal_jumpsin the server config). Build a nether portal into your ship and light it mid-flight: after a short countdown the whole ship jumps to the other dimension, portal and all, like a spaceship performing a jump. A matching portal is linked or built at the destination beside where you arrive. Break or extinguish the onboard portal during the countdown to abort, and re-light it whenever you want to jump again. -
Non-destructive landings If your destination is blocked by terrain or builds, AeroPortals will tell you in chat which block is in the way and cancel the teleport. Your ship stays where it is, and the destination side is never modified. Clear the space and try again. Server admins who would rather have big ships carve their own landing zone can enable
clear_destination_blocksin the server config: blocking blocks at the destination are then destroyed (without drops) instead of cancelling the trip. Portal blocks, portal frames, and unbreakable blocks are always left intact. -
Aether portals (when The Aether is installed). Same idea as nether portals but with glowstone frames and the Aether dimension.
-
Ars Nouveau warp portals (when Ars Nouveau is installed). Use a Warp Scroll to configure the portal's destination, then fly your ship into it. The ship lands on top of the configured warp position.
-
Draconic Evolution portals (when Draconic Evolution is installed). Build a Dislocator Receptacle portal with a configured Dislocator and fly your ship through. The ship lands on the receptacle's stored target.
-
Deeper and Darker portals (when Deeper and Darker is installed). Same idea as nether portals but with reinforced deepslate frames, leading to The Otherside.
-
Pina colada teleport (when Tropicraft is installed). Drink a pina colada while sailing your airship and you and the ship travel to the Tropics. Drink another in the Tropics to come home.
-
TelePastries cakes (when TelePastries is installed). Right-click any TelePastries cake (Overworld, Nether, End, Twilight, Lost City, or the three configurable custom cakes) while on your airship and the ship travels to that cake's dimension with you.
-
Create: Ender Gateway portals (when Create: Ender Gateway is installed). Fly your ship into a linked gateway and it comes out at the partner gateway on the other side, in either direction between the Overworld and the End.
-
Create: Teleporters portals (when Create: Teleporters is installed). Fly your ship into a custom portal frame and it travels to the portal's configured destination, whether that is a set of TP Link coordinates or another linked portal, in any dimension.
-
Dimension stacking (when Stackable Planar Dimensions or Forgiving World is installed). Fly your airship down through the floor or up past the ceiling of a stacked dimension and the whole ship crosses into the adjoining dimension with everyone aboard, using the stack layout, heights, and coordinate scaling from that mod's config.
-
AE2 spatial storage (when Applied Energistics 2 is installed). Park your airship inside a Spatial IO Port capture area and it travels into the spatial storage cell with the rest of the region, then comes back out wherever the cell is deployed. The whole ship must fit inside the pylon area or it is left behind; docked or roped-together ships travel as a group and must all fit. While stored, the ship is held in stasis (no gravity inside the storage dimension) and resumes normal flight when deployed.
When the ship teleports, these passengers come along:
- Players standing on the ship
- Decorations and storage: paintings, item frames (and what's inside them), armor stands, all minecart variants, block/item/text displays
- Functional bits: Create seats and contraptions, Create: Aeronautics propellers and sails, Botania mana/corporea bursts, snow golems, leash knots
These do NOT come along:
- Mobs (cows, zombies, villagers, ...)
- Dropped items
- Projectiles, falling blocks
This matches what already happens when you fly your ship around normally: those entities fall off. The portal teleport behaves the same way.
Drop in a one-file datapack at data/sable/tags/entity_type/retain_in_sub_level.json:
{
"replace": false,
"values": [
"minecraft:cow",
"minecraft:villager",
"minecraft:wolf"
]
}Multiple datapacks merge cleanly, so several mods can add to this tag without stepping on each other.
OP-level command (permission level 2). Teleports you and the airship you're riding to the named dimension. Autocompletes the dimensions available to your server:
overworld,nether,endalwaysaetherwhen Aether is installedtropicraftwhen Tropicraft is installedothersidewhen Deeper and Darker is installed- You can also type any custom dimension as
namespace:pathdirectly
Without coordinates, the ship lands at a sensible spot in the destination: the obsidian platform for the End, somewhere safe above the surface for everything else.
Add three coordinates after the dimension to pick the landing spot yourself, for example /aeroportals teleport kubejs:deep_space -1000 ~ -1000. Coordinates are absolute positions in the destination dimension; the command does not apply nether-style coordinate scaling to them. Each coordinate also accepts ~ or ~offset, relative to the spot the command would have picked on its own, so ~ ~ ~ is the same as leaving them off. The Y coordinate is where the bottom of your airship (or your feet, without a ship) ends up. Note that execute positioned does not affect this command; use the explicit coordinates instead.
| Mod | Range | Required? |
|---|---|---|
| Minecraft | 1.21.1 | yes |
| NeoForge | 21.1.230+ | yes |
| Sable | 1.0+ | yes |
| Create | 6.0+ | optional (needed to actually build airships) |
| The Aether | 1.5+ | optional |
| Ars Nouveau | 5.11+ | optional |
| Tropicraft | 9.8+ | optional |
| Draconic Evolution | 3.1+ | optional |
| Deeper and Darker | 1.3+ | optional |
| Applied Energistics 2 | 19.2+ | optional |
| Stackable Planar Dimensions | 1.9+ | optional |
| Forgiving World | 4.7+ | optional |
| Create: Teleporters | 2.0.2+ | optional |
| Create: Ender Gateway | 1.1+ | optional |
If an optional mod isn't installed, that integration is simply inactive: no errors, no warnings, no overhead.
config/aeroportals-server.toml is generated on first server launch.
| Key | Default | What it does |
|---|---|---|
detection.scan_interval_ticks |
5 |
How often the mod checks if your airship is touching a portal (in server ticks; 20 = 1 second). |
detection.verbose_logging |
true |
Log each teleport at INFO level. Turn off for quieter logs. |
detection.max_sublevel_aabb_volume |
200000.0 |
Skip teleporting any ship larger than this volume. Sanity guard so a wildly-misconfigured ship doesn't trigger a teleport. |
teleport.portal_cooldown_ticks |
200 |
After teleporting, the ship is locked out of portals for this long (in ticks). Prevents a ship from immediately re-teleporting back through the destination portal. |
teleport.dest_portal_search_radius |
128 |
How far AeroPortals looks for an existing matching portal at the destination before deciding to build a new one. |
teleport.generate_matching_portal |
true |
If false, the teleport aborts when no destination portal is found instead of building one. |
teleport.clear_velocity_on_arrival |
false |
If true, ships arrive from a teleport standing still. By default they keep their momentum. |
AeroPortals writes the ship snapshot to disk before moving it. If the server crashes mid-teleport, the ship is recovered on next startup instead of being lost.
- Ropes and joints don't survive teleport. Ships connected by Sable rope/docking links travel together and stay in formation, but the physical connection itself breaks. Re-tie the rope or re-dock at the destination.
- Other modded portal types aren't auto-supported. Twilight Forest, Mystcraft, etc. aren't recognized. Vanilla nether/end, plus Aether, Ars Nouveau, Tropicraft, Draconic Evolution, Deeper and Darker, Create: Teleporters, Create: Ender Gateway, AE2 spatial storage, and dimension stacking (Stackable Planar Dimensions / Forgiving World) are the supported travel methods today.
- Speed slightly drops per teleport. Each portal trip costs about 10% of your velocity (Sable's reload setting). Tune
sub_level_velocity_retained_on_loadin Sable's config if you want full preservation.
Open an issue on the GitHub issue tracker. We're open to adding support for additional portal mods and custom dimensions: just let us know which mod you'd like to see and we'll take a look.
AeroPortals fires SubLevelTransferEvent on the NeoForge event bus after each teleport, with the new SubLevel, source/destination dimensions, and translation vector. Useful if your mod tracks cross-SubLevel positions (e.g. docking pairs, partner references) that need updating after a move.
MIT, see LICENSE.md.