> ## Documentation Index
> Fetch the complete documentation index at: https://pumpkings.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Roulette: Spawn a Physical Wheel and Collect Player Bets

> Spawn a physical roulette wheel in your Minecraft world, accept color and number bets from players, and resolve spins with server-wide countdown alerts.

The LiricCasino roulette wheel is a real display entity that lives inside your world — players walk up to it, open the betting menu by interacting with it, and watch the wheel physically spin before the result is announced server-wide. Every round follows a timed countdown so players across the entire server can rush to place their bets before the wheel locks.

## Placing and Managing the Wheel

<Steps>
  <Step title="Position yourself at the spawn point">
    Stand in the exact spot where you want the center of the roulette wheel to appear. The wheel entity spawns at your feet.
  </Step>

  <Step title="Run the setup command">
    ```
    /roulette setup
    ```

    A physical roulette display entity appears immediately. A hologram above the wheel shows the current player count and max bet.
  </Step>

  <Step title="Resize if needed">
    Adjust the block scale to fit your build:

    ```
    /roulette scale <scale>
    ```

    The default scale is `0.45`. The radius is read from `roulette.radius` in `config.yml` (default `5.5` blocks) and applied automatically when you rescale. Edit `roulette.radius` in `config.yml` directly to change the wheel size.
  </Step>

  <Step title="Remove or reset the wheel">
    | Command            | Effect                                     |
    | ------------------ | ------------------------------------------ |
    | `/roulette delete` | Remove the nearest roulette entity         |
    | `/roulette purge`  | Remove all roulette entities on the server |
  </Step>
</Steps>

***

## Betting Options

Players open the betting GUI by interacting with the wheel entity. The 6-row inventory menu shows all numbers 0–36 and three colour buttons at the bottom.

<CardGroup cols={2}>
  <Card title="Colour Bets" icon="palette">
    Pick Red, Black, or Green. The bet is placed immediately and withdrawn from your balance. You can only have one active bet per round.
  </Card>

  <Card title="Number Bets" icon="hashtag">
    Click any number from 0 to 36. Red numbers pay the same multiplier as a Red colour bet, but you win only if the exact number is drawn.
  </Card>
</CardGroup>

### Payout Table

| Bet Type        | Condition to Win        | Payout Multiplier  |
| --------------- | ----------------------- | ------------------ |
| 🔴 Red          | Winning number is red   | 2× (configurable)  |
| ⚫ Black         | Winning number is black | 2× (configurable)  |
| 🟢 Green        | Winning number is 0     | 14× (configurable) |
| 🔢 Exact Number | Winning number matches  | 36×                |

<Note>
  Red numbers on the standard European wheel are: 1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36. All remaining non-zero numbers are Black. `0` is always Green.
</Note>

***

## Round Flow and Countdown Alerts

Once the minimum number of players (default: 1) have placed bets, the countdown begins automatically. The wheel hologram updates every second to show remaining time, and the server receives broadcast alerts at key intervals.

<Steps>
  <Step title="Bet placed — countdown starts">
    The server broadcasts a spin announcement the moment the countdown begins. The hologram switches to countdown mode.
  </Step>

  <Step title="Periodic server-wide alerts">
    | Time Remaining | Server Broadcast Sent |
    | -------------- | --------------------- |
    | 2 minutes      | Player count reminder |
    | 1 minute       | Final minute warning  |
    | 30 seconds     | 30-second warning     |
    | 10 seconds     | 10-second warning     |
  </Step>

  <Step title="Spin phase">
    At zero seconds the server broadcasts a spinning message, the hologram changes to "No more bets!", and the physical wheel display animates for 140 ticks (\~7 seconds) before the result is determined.
  </Step>

  <Step title="Result and payouts">
    The winning number and colour are broadcast server-wide. All winners are paid out immediately; the wheel resets 5 seconds after resolution.
  </Step>
</Steps>

***

## Hologram Display

A floating hologram attached to the wheel entity shows:

* **Game title** — 🌀 ROULETTE 🌀
* **Max Bet** — the configured maximum wager
* **Player Count** — how many bets are currently placed
* **Countdown** — seconds remaining once a round is active (updates every second)
* **Spinning** — "No more bets!" during the spin animation

***

## Configuration Reference

```yaml theme={null}
roulette:
  active: true
  min-players-to-start: 1
  countdown-seconds: 180       # 3-minute countdown
  max-bet: 200000.0
  number-payout: 36.0
  block-scale: 0.45            # Visual scale of wheel blocks (0.1–2.0)
  radius: 5.5                  # Radius in blocks of the roulette circle
  color-multipliers:
    RED: 2.0
    BLACK: 2.0
    GREEN: 14.0
  uses:
    default:
      max-uses-per-day: 2
    ranks:
      vip:
        permission: "casinoliric.roulette.vip"
        max-uses-per-day: 10
      admin:
        permission: "casinoliric.roulette.admin"
        max-uses-per-day: -1   # -1 = unlimited
```

<Tip>
  Reduce `countdown-seconds` for a faster-paced experience. Setting it below `30` will skip the 30-second alert naturally.
</Tip>

***

## Tax and Booster Integration

If taxes are enabled, the configured `roulette` rate is applied to gross winnings before deposit:

```yaml theme={null}
taxes:
  enabled: true
  roulette: 0.05   # 5 % deducted from winnings
```

Economy boosters (configured under `boosters`) multiply the net payout for qualifying players. The win message shown to the player reflects both the booster and any tax deduction.

***

## Admin Command Reference

| Command                   | Description                                        |
| ------------------------- | -------------------------------------------------- |
| `/roulette setup`         | Spawn the roulette wheel at your location          |
| `/roulette scale <scale>` | Resize the wheel; radius is read from `config.yml` |
| `/roulette forcestart`    | Skip the remaining countdown and spin immediately  |
| `/roulette delete`        | Remove the nearest roulette entity                 |
| `/roulette purge`         | Remove all roulette entities on the server         |

<Warning>
  `/roulette forcestart` spins the wheel immediately regardless of how many seconds are left. Existing bets are still honoured; players who haven't bet yet simply miss the round.
</Warning>
