-
Notifications
You must be signed in to change notification settings - Fork 1
ElytraPilot
Autonomous elytra flight: deploys, steers, fires fireworks, simulates its own physics to stay on course, routes through the nether, and lands itself — covering long-haul travel, the 2b2t nether-highway bounce, and a full overworld↔nether trip planner.
Command: .elytrapilot (alias .fly). Needs an elytra worn; firework rockets in the hotbar for climb/glide travel (the highway bounce uses no fireworks).
✅ Validated end-to-end on 2b2t (v4.0.0). The three headline capabilities below have each been flown and landed live — they are no longer first cuts. Long autonomous hauls still benefit from a supervised first run on new terrain.
A pure-input ground "bounce" along the 2b2t obsidian highways that Grim accepts. Hold one input (forward + jump) + sprint and re-arm fall-flying each airborne phase; the held jump auto-bounces off the road every ~10 ticks and the sprint-jump speed is preserved by glide drag, so speed ramps up and holds at ~30–38 b/s (peak ~38–39) with zero fireworks and zero setbacks.
It sustains itself indefinitely:
- 0-tick elytra hot-swap — when the worn elytra wears down it atomically swaps in a fresh spare from the hotbar in a single tick (no landing, fall-flying never breaks). Spares in the main inventory fall back to a brief land-swap.
- Ender-chest elytra resupply — when fresh spares run low it runs a Regear cycle (place ender chest → pull a kit shulker → swap fresh elytras in / spent out → return the kit → recover the chest) and resumes the bounce. Needs a carried ender chest, a silk-touch pickaxe, and a kit shulker of elytras in ender storage.
- Obstacle stall→pass and centerline tracking route around griefed road blocks and keep the bot on the road axis.
.fly highway <N/S/E/W/NE/SE/NW/SW> # pick a 2b2t highway from 0,0
.fly ebounce on # arm the no-firework bounce
.fly restart # one-shot clean re-arm after a stall
For open-nether travel (not a highway), a per-tick physics-simulation solver flies the route the way a human "constantly corrects," and native nether-pathfinder routing plans a path through unloaded chunks in ~1s from seed terrain generation — the native route is the flight plan. It follows the route through holes rather than climbing to open air, with lava recovery (swim to surface, then redeploy + fire) and a totem-pop abort + logout.
.fly trip nether <x> <z> has flown the full leg and landed on target at full HP with no totems; 700-block trips are proven (~3.5-block accuracy).
.fly trip nether <x> <z> # fly to nether coords via the native route
.fly native on/off # native nether-pathfinder routing (default on; legacy A* behind off)
.fly maxflight <ticks> # safety cap on a single flight leg (raise for long hauls)
.fly trip <x> <z> is overworld-direct near spawn. From a naked spawn it gears itself up from nothing — opens a container with no line of sight, self-kills to relocate when stuck, and matches a kit by contents (elytra + fireworks gate) — then flies a distance-scaled climb / free-glide cruise (firework-climb to a ceiling, free-glide down to a floor, repeat, so most of the trip is free) and lands dead-on. A full naked-spawn → 25k → on-target landing (HP 20, no rocket depletion) is done.
.fly to <x> <z> # point-to-point climb/glide, then land
.fly trip <x> <z> [y] # plan a journey (overworld-direct, or routed through the nether)
.fly trip off # cancel an in-progress trip
The pilot can stop at a programmed goal to log out and/or anchor its respawn point — at an intermediate pitstop along the way, and/or at the flight's ultimate goal. The two behaviours are independent and both default off.
-
Logout stop — on arrival it lands, logs out, and (optionally) logs back in after a timer. The timer is optional: with no timer (
timer off) it stays logged out for a manual reconnect. A trip resumes toward its destination automatically on relogin. -
Set-spawn — on arrival it anchors a respawn point: places + sets a bed in the overworld, or a respawn anchor charged with glowstone in the nether. Best-effort — if it can't (no bed/anchor/glowstone, or nowhere flat to place), it warns and still logs out.
relogonfail offkeeps the bot logged out on a failed spawn-set, so it never returns to an unanchored spot.
The pitstop is a geofenced coordinate (fly pitstop at <x> <z>): when the bot flies within radius of it (in the matching dimension) it runs the stop, then continues to the ultimate goal. The goal stop runs once at the true final destination — for a standalone fly to, or once at the end of a fly trip (never at an intermediate leg).
.fly pitstop at <x> <z> # program the intermediate stop (uses the current dimension)
.fly pitstop logout on # log out on arrival; relogin after the timer
.fly pitstop setspawn on # set a bed / charged respawn anchor on arrival
.fly pitstop timer <min> | off # relogin delay (off / 0 = stay logged out)
.fly goal logout on | setspawn on | timer <min>|off # the same, at the ultimate destination
🧪 New in 5.8.0, off by default — not yet live-tested. The bed/anchor spawn-set and the relogin timing especially warrant a supervised first run.
- Wear an elytra. For climb/glide travel, put a stack (or several) of firework rockets in the hotbar. For self-sustaining bounce hauls, add spare elytras (hotbar for seamless swaps) and, optionally, a carried ender chest + silk-touch pickaxe + a kit shulker of elytras in ender storage with
.fly resupply on. -
Highway bounce:
.fly highway <dir>then.fly ebounce on(or.fly restart). -
Long haul / nether:
.fly trip <x> <z>(auto-routes overworld or through the nether), or.fly trip nether <x> <z>to fly nether coordinates directly.
.elytrapilot on/off
.fly to <x> <z> # point-to-point climb/glide, then land
.fly heading <degrees> # free-fly a compass bearing until stopped
.fly trip <x> <z> [y] # plan a journey (overworld, or routed through the nether)
.fly trip nether <x> <z> # fly nether coordinates via the native route
.fly trip highways on/off # nether leg: bounce a highway vs fly open-nether
.fly trip off # cancel an in-progress trip
.fly highway <N/S/E/W/NE/SE/NW/SW> # follow a 2b2t nether highway from 0,0
.fly ebounce on/off | road <y> | maxspeed <bps>
.fly restart # one-shot clean re-arm of the current mode
.fly native on/off | maxflight <ticks> | seed <n> # native nether-pathfinder routing
.fly swap on/off | swapdur <n> | sparedur <n> # mid-flight elytra swap
.fly resupply on/off | resupplyspares <n> | resupplycount <n> # ender-chest elytra resupply
.fly pitstop at <x> <z> | logout on/off | setspawn on/off | timer <min>|off | nether on/off | radius <n> | relogonfail on/off | off
.fly goal logout on/off | setspawn on/off | timer <min>|off | relogonfail on/off # log out / set spawn at the destination
.fly ceiling <y> | floor <y> | glidepitch <deg> | climbpitch <deg> # climb/glide profile
.fly nethercruise <y> | netherceiling <y> | netherfrontier <slow> <hold>
Many more fine-tuning knobs exist (the bounce dive/redeploy tuning, cruise economy, solver sim depth, reroute angles, landing search). Run .fly with no arguments for the full list — e.g. boostspeed, lookahead, arrive, descend, glideratio, solver, simticks, reroute, landsearch, baritoneland, bouncedive, bouncedeploy, bounceredeployvy, setbackhold.
- What's New — 5.x Beta 🧪
- Installation
- Command Reference
- Movement & Transport
- The ShiftClick fix
- Notifications (ntfy)
- FAQ
Remote control & access 🧪 (5.x beta)
Built-in modules
- AquariusMiner
- AquariusSniffer
- PearlPlus
- VillagerTrader
- PearlDrop
- KitMaker
- Regear
- ElytraPilot
- Enchanter
Stash system
Extending