Skip to main content

Transport routes

Transport routes carry a player along an authored curve on a configured custom boss mount. Routes live in plugins/EliteMobs/transport_routes/. The mount is an ordinary enabled YAML definition in custombosses/, where you configure its entity type, model, disguise, and powers.

A route goes from one fixed start to one fixed end. To let players fly between several stations through flight masters or flight portals, build a flight network instead. Networks use the same mounts and the journey rules on this page.

Create a route in game​

The editor commands are player-only and require elitemobs.transport.admin.

  1. Stand at the departure point and run /em transport create guild_flight.
  2. Fly to each subsequent waypoint and run /em transport add.
  3. Inspect the particle preview. The faint curve includes your proposed next point.
  4. Face the direction riders should face on arrival and run /em transport save.
  5. Check the saved mount and route settings, then run /em transport start guild_flight to try the route.

New editor routes reference the bundled transport_cannon_seat.yml custom boss. Change transportEntity to another enabled custom-boss filename when needed.

CommandAction
/em transport create <id>Start a new draft at your position
/em transport edit <id>Edit an enabled existing route
/em transport addAppend your position
/em transport move <number>Move a waypoint to your position, numbered from 1
/em transport removeRemove the last waypoint
/em transport undoUndo the last geometry edit, up to 32 retained edits
/em transport statusShow the current draft
/em transport rideTry the draft without saving, starting from its first waypoint
/em transport saveSave geometry and arrival yaw
/em transport cancelDiscard the draft
/em transport listList loaded routes
/em transport reloadReload route and flight network files; active flights retain their original route
/em transport start <id>Start a saved route
/em transport stopCancel your current journey

Saving checks that the route reloads with the saved waypoints and arrival yaw before discarding the draft. If that check fails, the error leaves your draft available for correction or retry even though the file may already have been written. Drafts remain in memory; disconnecting or shutting down clears them.

Route YAML​

For guild_flight.yml:

isEnabled: true
name: Guild flight
world: my_dungeon
transportEntity: transport_cannon_seat.yml
speed: 12
acceleration: 8
countdownTicks: 60
arrivalYaw: 90
waypoints:
- "10,70,10"
- "20,85,20"
- "40,70,40"

Use a lowercase route ID of 1-64 letters, digits, underscores, or hyphens. The world must match the player's current authored world. Inside an instance of that dungeon, the authored world is resolved to the player's active instance; do not hardcode generated instance names.

speed and acceleration must be positive finite values. countdownTicks is nonnegative and defaults to 60 ticks. The editor preserves existing presentation and tuning settings when saving geometry.

Route files support extends: other_route.yml, so one route can inherit another route file's settings and override only what differs. isEnabled is not inherited. See reusing definitions.

Stand still during the departure countdown. Changing position cancels departure; looking around without moving does not. This cancellation applies before boarding, not to the mount's movement during a flight. /em transport ride first moves you to the draft's first waypoint, and its countdown only cancels if you move more than 2 blocks from there. Flights from a flight portal tolerate movement inside the portal.

The retired route fields carrier, customModel, and flightAnimation are rejected. Put appearance and behavior in the referenced custom-boss definition.

Add a travel NPC​

Use the TRANSPORT NPC type and list loaded route IDs without .yml:

interactionType: TRANSPORT
transportRoutes:
- guild_flight

Add these fields to an otherwise valid NPC definition. The menu accepts 1-54 distinct available destinations and checks that the player is still near the NPC before boarding. For an NPC that offers the destinations of a flight network, see flight masters.

Route clearance and interruptions​

Map makers own route clearance. The mount follows the authored curve; it does not find a path around obstacles or repair unsafe geometry. Preview and ride the complete route with the intended mount and enough space for both mount and rider.

Flights use native flying Minds. When the server version has none, or the mount cannot spawn, for example because transportEntity is missing or disabled, the player is teleported straight to the final point with 2 seconds of blindness instead. When the mount fails to spawn, the console logs it once per route until EliteMobs reloads, and players with elitemobs.transport.admin see the reason in chat. A mount that spawns but cannot seat the player stops the journey with an error.

Sneaking does not get the rider off during a flight. Death, a teleport, a world or instance change, or a removed mount ends travel. Interrupted travel removes the mount; it does not promise a return teleport. A flight that stops making progress for 5 seconds sets the rider down at the final point. A rider who disconnects mid-flight outside a dungeon instance is placed at the final point on their next login, and stopping or reloading the server places riders on board at the final point. Successful arrival places the rider at the final point with arrivalYaw.

Mounts whose entity type is a chicken or a parrot shed feathers and beat their wings while flying.