> For the complete documentation index, see [llms.txt](https://mavenverse.gitbook.io/mavenverse-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mavenverse.gitbook.io/mavenverse-docs/zipline/stations-and-call-buttons.md).

# Stations & Call Buttons

Multi-station routes, multi-passenger groups, station bells, and anti-suffocation dismount

How to set up multi-station routes, multi-passenger travel, manage station stops, and configure automated summon buttons.

## Route Types

When mapping a zipline with `/zipline wand`, you can combine three types of points:

1. **Start Station**: Where the ride begins (set with **Left-Click**).
2. **Curve Waypoints**: Smooth curves around trees, hills, or buildings without stopping the trolley (added with **Right-Click**).
3. **Station Stops**: Passenger platforms where the trolley pauses so riders can board or exit (added with **Sneak + Right-Click**).
4. **End Station**: The final terminus (set with **Sneak + Left-Click**).

***

## Multi-Passenger Riding & Group Boarding

Ziplines support group travel across 3 vehicle capacities:

* **Solo (`solo`)**: Single rider suspension seat.
* **Tandem (`tandem`)**: 2-player bench where riders sit side-by-side facing forward along the cable.
* **Cable Car Gondola (`cable_car`)**: 4-passenger enclosed cabin gondola with 2 rows of inward-facing seats.

Change trolley mode anytime with:

```
/zipline edit <id> type <solo|tandem|cable_car>
```

### Group Boarding Countdown

When a player boards an idle multi-passenger trolley:

* The trolley does not depart instantly. A departure countdown starts (default: 10s, configured via `motion.departure_countdown` in `config.yml`).
* Riders see a live action bar notification:

  ```
  Boarding trolley... Departing in 8s (2/4)
  ```
* Friends and fellow riders can right-click the trolley to take available seats.
* If all seats are filled before the countdown expires, the trolley departs immediately.
* A chime plays as the trolley launches down the cable.

### Individual Passenger Destinations

* Every passenger on board can select their **own destination** in the Destination GUI.
* When the trolley arrives at an intermediate station, **only passengers whose destination is that station will dismount**, while other riders remain comfortably seated for the rest of their journey.
* **Anti-Exploit Protection**: Passengers who booked a farther destination cannot sneak to hop out early at an intermediate station they did not pay for.

***

## Station Dwell Time & Getting Off

When a trolley pulls into an intermediate station stop:

* It comes to a gentle stop and pauses for a few seconds (default: 4 seconds).
* Riders see a countdown on their Action Bar:

  ```
  Station Stop ? Sneak to exit (3.5s)
  ```
* **To Dismount**: The player presses **Shift (Sneak)** during the pause to safely exit onto the platform.
* **To Keep Going**: If the player stays seated, a chime plays when the countdown ends and the trolley continues along the line.

To adjust the pause duration on any line:

```
/zipline edit <id> stop_time <seconds>
```

***

## Multi-End & Branching Networks

Ziplines support complex multi-terminal networks with forks, branches, and intelligent routing.

### Network Topologies

You can construct diverse aerial transit layouts:

* **Y-Splits**: A main trunk line splits at a junction into two separate destination termini.
* **Tap-Root Tree Networks**: Successive branch splits off an arterial cable path, reaching multiple mountain peaks or village districts.
* **Central Multi-Corridor Hubs (`>x<`)**: A central junction or grand transit station radiating outward to multiple endpoints (`end1`, `end2`, `end3`, etc.).

### Lowest Common Ancestor (LCA) Routing

Traveling between two branch ends does **not** require traveling all the way back to the origin:

* When a rider boards at `end1` and chooses `end2`, the trolley smoothly reverses along Branch 1 until it hits the **split junction (Lowest Common Ancestor)**.
* At the junction, it naturally turns onto Branch 2 and accelerates forward toward `end2`.
* This yields efficient, realistic transit without awkward teleports or roundabouts.

### Interactive Destination Selection Menu

When a player right-clicks an idle trolley:

* An intuitive chest GUI pops up displaying **all** intermediate station stops and branch termini.
* **Destination Cards**: Each station is represented by an item button showing:
  * Configured station name and custom icon (e.g. `COMPASS`, `CAMPFIRE`, `BELL`, `LANTERN`, `EMERALD`).
  * Linear track distance in meters.
  * Estimated travel time in seconds.
  * Itemized fare breakdown: Distance Fare + Station Surcharge = Total Fare.
* **Access Indicators**: Stations the player has permission to visit are displayed normally. Restricted stations show locked red concrete with informative hover lore.
* Clicking a destination books the seat, mounts the player, and initiates the journey or boarding countdown.

***

## Safe Platform Step-Off

Stations often have canopies, low rafters, or roof beams overhead. Zipline protects riders on dismount:

* **Walkway Landing**: Riders automatically land safely on the station walkway beside the trolley instead of getting stuck inside the seat.
* **No Suffocation**: Checks that the landing spot has solid footing and clear headroom so players never spawn inside ceiling blocks.
* **In-Flight Lock**: Players cannot accidentally dismount mid-air while the trolley is traveling between stations.

***

## Station Call Buttons

Call buttons allow waiting players to summon an idle trolley parked at another station across any branch.

### How to Set Up:

1. Make sure two-way travel is enabled on your line:

   ```
   /zipline edit <id> twoway true
   ```
2. Look at any button, lever, or bell on your station platform and run:

   ```
   /zipline edit <id> add_button
   ```

   *The plugin automatically links the button to that specific station coordinates.*

### How It Works:

* When a player clicks the button, a bell chimes and the trolley travels down the cable directly to their station.
* If the trolley is already at the caller's station, it informs them.
* If someone is currently riding the line, it prevents accidental disruption until the ride is finished.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://mavenverse.gitbook.io/mavenverse-docs/zipline/stations-and-call-buttons.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
