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