> ## 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.

# Poker: Deploy a Physical Table and Run Card Game Sessions

> Place a physical poker table in your Minecraft world, let players join and leave interactively, and run a full inventory GUI-based managed game loop.

The LiricCasino Poker table is a physical entity you place anywhere in your world. Players walk up to it, interact to join the game, and participate in a managed card game loop displayed entirely through an inventory GUI — no chat commands needed once the table is placed. Games progress automatically through each player's turn, keeping the experience smooth and organised even in a busy server.

## Placing and Managing Tables

<Steps>
  <Step title="Stand at the desired location">
    Move to the spot in your world where you want the poker table entity to appear. The table spawns at your feet.
  </Step>

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

    The table entity is created immediately. Any player with the appropriate permission can interact with it to join an open game.
  </Step>

  <Step title="Remove a table when needed">
    ```
    /poker delete
    ```

    This removes the nearest poker table entity. Always warn players before removing a table that is currently in use, as doing so will force-close any active sessions at that table.
  </Step>
</Steps>

***

## Joining and Leaving a Game

<Steps>
  <Step title="Interact with the table">
    Right-click the physical poker table entity. If a game is open and accepting players, you are added to the session and the lobby GUI opens.
  </Step>

  <Step title="Place your buy-in">
    Select your starting bet from the GUI. The amount must fall within the configured minimum and maximum for your rank.
  </Step>

  <Step title="Wait for the game to begin">
    The game starts once the required number of players have joined. You can see the current lobby state in the GUI while waiting.
  </Step>

  <Step title="Leave at any time">
    Click the leave button inside the GUI to exit the session. Depending on the current game state, your remaining chips may be returned or forfeited per the active round's rules.
  </Step>
</Steps>

***

## GUI Card Display

All cards, chips, and game state information are rendered inside a standard Minecraft inventory GUI. You never need to type commands during a hand:

<CardGroup cols={2}>
  <Card title="Your Hand" icon="cards">
    Your hole cards appear in dedicated slots in the GUI. Card face values and suits are shown via item names and lore.
  </Card>

  <Card title="Community Cards" icon="table">
    Flop, turn, and river cards occupy the central row of the GUI as they are revealed through each betting round.
  </Card>

  <Card title="Action Buttons" icon="hand-pointer">
    Fold, Call, Raise, and Check buttons appear as clickable items during your turn. Buttons are hidden when it is not your turn.
  </Card>

  <Card title="Pot Display" icon="sack-dollar">
    The current pot size and your chip count are shown as labelled items so you always know the stakes at a glance.
  </Card>
</CardGroup>

***

## Bet Limits and Daily Uses

Configure minimum and maximum buy-ins and the number of games a player can join per day in `config.yml`:

<Tabs>
  <Tab title="Default Players">
    ```yaml theme={null}
    poker:
      bet:
        default:
          min: 100.0
          max: 100000.0
      uses:
        default:
          max-uses-per-day: 5
    ```
  </Tab>

  <Tab title="VIP Players">
    ```yaml theme={null}
    poker:
      bet:
        ranks:
          vip:
            permission: "casinoliric.bet.vip"
            max: 500000.0
      uses:
        ranks:
          vip:
            permission: "casinoliric.uses.vip"
            max-uses-per-day: 20
    ```
  </Tab>

  <Tab title="Admins">
    ```yaml theme={null}
    poker:
      bet:
        ranks:
          admin:
            permission: "casinoliric.bet.admin"
            max: 10000000.0
      uses:
        ranks:
          admin:
            permission: "casinoliric.uses.admin"
            max-uses-per-day: -1   # -1 = unlimited
    ```
  </Tab>
</Tabs>

***

## Enabling and Disabling Poker

You can toggle the poker game on or off without restarting the server by editing the `active` flag in `config.yml` and reloading:

```yaml theme={null}
poker:
  active: true   # Set to false to disable the game entirely
```

<Note>
  When `active` is set to `false`, interacting with an existing poker table entity will produce no response. Existing table entities remain in the world but are inert until the game is re-enabled.
</Note>

This flag is available for every LiricCasino game, allowing you to run only the games appropriate for your server without removing physical entities.

***

## Tax Integration

If the global tax system is active, apply a per-game rate to poker winnings:

```yaml theme={null}
taxes:
  enabled: true
  # No dedicated poker rate key — the default-rate applies
  default-rate: 0.05
```

***

## Admin Command Reference

| Command         | Description                                  |
| --------------- | -------------------------------------------- |
| `/poker setup`  | Spawn a poker table at your current location |
| `/poker delete` | Remove the nearest poker table entity        |
