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
- Multiple prison cells — define as many named cells as you need with
/setprisoncell <id> - Timed sentences — jail players with human-readable durations (
10s,5m,1h,2d) - Automatic cell assignment — prisoners are placed in the first available (unoccupied) cell
- Full restriction — jailed players cannot use commands, break/place blocks, or interact with anything
- Auto-release — a background task checks for expired sentences every few seconds and releases players automatically
- Offline support — players whose sentence expires while offline are released upon rejoining
- Persistent data — jail data survives server restarts via
data.yml - Fully configurable messages — all player-facing messages are customizable in
config.ymlwith&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
# 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
- Paper 1.21+
- Java 21+


