BasicPrison

A simple Prison Plugin. Admins can put players into a Prison. In the Prison, the Player cannot brake/place/interact with blocks and cannot use commands. You can have multiple cells with one player per cell.

22

BasicPrison

BasicPrison

A lightweight prison/jail plugin for Paper 1.21+ servers. Temporarily imprison players in designated cells with full restriction enforcement and automatic timed release.

Features

- Fully configurable messages — define as many named cells as you need with `/setprisoncell <id>` - Fully configurable messages — jail players with human-readable durations (`10s`, `5m`, `1h`, `2d`) - Fully configurable messages — prisoners are placed in the first available (unoccupied) cell - Fully configurable messages — jailed players cannot use commands, break/place blocks, or interact with anything - Fully configurable messages — a background task checks for expired sentences every few seconds and releases players automatically - Fully configurable messages — players whose sentence expires while offline are released upon rejoining - Fully configurable messages — jail data survives server restarts via `data.yml` - Fully configurable messages — all player-facing messages are customizable in `config.yml` with `&` color codes

Commands

| Command | Description | Permission | |---------|-------------|------------| | `/prison <player> <time>` | Jail a player for the specified duration | `basicprison.jail` | | `/setprisoncell <id>` | Create a cell at your current location | `basicprison.setcell` | | `/listprisoncells` | List all defined prison cells | `basicprison.listcells` | | `/deleteprisoncell <id>` | Delete a prison cell | `basicprison.deletecell` |

All permissions default to op.

Time Format

| Suffix | Unit | Example | |--------|------|---------| | `s` | Seconds | `30s` | | `m` | Minutes | `10m` | | `h` | Hours | `1h` | | `d` | Days | `2d` |

Configuration

config.yml

```yaml

Prison cells (set in-game with /setprisoncell <id>)

prison-cells: {}

How often (in ticks) the release checker runs. 60 ticks = 3 seconds.

release-check-interval-ticks: 60

All messages are customizable with & color codes

messages: jailed: "&cYou are imprisoned and cannot use commands!" sent-to-prison: "&cYou have been sent to prison for &e%time%&c!" released: "&aYour sentence has expired. You are free!"

... and more

```

data.yml

Automatically managed — stores prisoner UUIDs, original locations, assigned cell IDs, and sentence expiration timestamps. Do not edit manually while the server is running.

Quick Start

``` 1. /setprisoncell cell1 — stand where you want the cell, run the command 2. /setprisoncell cell2 — create additional cells as needed 3. /prison Steve 10m — jail Steve for 10 minutes 4. /listprisoncells — see all your cells 5. /deleteprisoncell cell2 — remove a cell ```

Requirements

- Java 1.21+ - Java 21+

ADS