Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Hosting
Need a server to run this plugin on? You can create a Minecraft server with Bungee host
DJail replaces plain bans and mutes with a jail where rule-breakers earn their release by mining blocks with their bare hands.
How it works
- An admin creates a jail with
/setjailand marks its mining zone with a selection stick (/selectblocks). - A moderator sends a player there with
/jail <player> <jail> <blocks> <reason>. - Every block type is worth a configurable number of points (for example stone = 2, coal ore = 10). The player is released once they have collected the number of points set in the sentence.
- Mined blocks come back after a delay (10 seconds by default) at a random free spot in the zone, so the jail never runs out of blocks.
Features
- Hands only – a prisoner can break blocks only with both hands empty. Blocks drop no items and no XP.
- Locked in – prisoners can't leave the jail zone and can't use commands, except
/jinfo, which shows who jailed them, why, and how many points are left. They respawn in the jail if they die. - Safe block respawn – blocks never respawn inside a player.
- Automatic release – when the sentence is done, the player is teleported to the configured exit location.
- Sentence control – shorten or extend a sentence (
/minjail,/maxjail), move a prisoner to another jail (/pjail), or free one player or everyone at once (/unjail). - Chat mutes –
/mutjail,/unmute, plus/allmuteand/unallmutefor every prisoner in a jail. Mutes can be timed or permanent. - Silent mode – add
-sto hide the broadcast message for mutes and releases. - Admin GUI –
/infojailopens a menu with the prisoners of a jail (progress, reason, who jailed them, online status) and teleport buttons./jhelpand/jguideopen an in-game help menu. - Holograms – an info hologram for each jail (
/trail,/ptrail), powered by CMI. - Per-group limits – with LuckPerms you set the maximum sentence each staff group can hand out (defaults: 50 / 75 / 100 / 250 points).
- Immunity – players with
jail.bypass(operators by default) can't be jailed. - Fully configurable – block values, respawn delay, exit location, buttons and every message live in
config.yml.
Commands and permissions
| Command | Description | Permission |
|---|---|---|
/jail <player> <jail> <blocks> <reason> |
Jail a player | jail:use |
/unjail <player|all> [-s] <reason> |
Release a player or everyone | jail:unjail |
/minjail <player> <blocks> <reason> |
Reduce a sentence | jail:minjail |
/maxjail <player> <blocks> <reason> |
Extend a sentence | jail:maxjail |
/pjail <player> <jail> |
Move a prisoner to another jail | jail:pjail |
/mutjail <player> [time] [-s] <reason> |
Mute a player | jail:mutjail |
/unmute <player> [-s] <reason> |
Remove a mute | jail:unmute |
/allmute <jail> [-s] <reason> |
Mute all prisoners of a jail | jail:allmute |
/unallmute <jail> [-s] <reason> |
Unmute all prisoners of a jail | jail:unallmute |
/setjail <name> |
Create a jail | setjail:use |
/deljail <name> |
Delete a jail | deljail:use |
/setjailloc <name> |
Set a jail's location | jail:setjailloc |
/selectblocks <jail> <start|end> |
Select the mining zone | jail:selectblocks |
/trail <name> / /ptrail <name> |
Place / move a jail hologram | trail:use / ptrail:use |
/jails |
List all jails | jail:jails |
/infojail <jail> |
Open the jail menu | jail.infojail |
/jhelp, /jguide |
In-game help menu | jail:jhelp |
/jinfo |
Prisoner's own sentence info | none |
Requirements
- Paper (or a compatible fork), built against the 1.16.5 API. Tested on: [your versions]
- Java 15 or newer
- CMI and CMILib (required; these are not on Modrinth)
- LuckPerms (required)
Installation
- Put the plugin
.jarin yourpluginsfolder and make sure CMI, CMILib and LuckPerms are installed. - Start the server and edit
plugins/DJail/config.yml: block values, exit location, group limits. - Create a jail with
/setjail <name>, then mark its zone with/selectblocks <name> start(left and right click two corners with the stick) and finish with/selectblocks <name> end.
Data and privacy
Data is stored locally in SQLite by default. MySQL is optional. The plugin makes no other network connections and collects no telemetry.
Language
Default messages are in Russian. All of them can be changed in config.yml.
На русском
DJail заменяет обычный бан или мут тюрьмой: нарушитель отрабатывает наказание, ломая блоки голыми руками.
Как это работает: администратор создаёт тюрьму (/setjail) и выделяет зону добычи палкой (/selectblocks). Модератор сажает игрока командой /jail <игрок> <тюрьма> <блоки> <причина>. Каждый тип блока стоит настраиваемое число очков, а игрок освобождается, когда наберёт нужное количество. Сломанные блоки восстанавливаются через заданное время в случайном свободном месте зоны.
Возможности: ломать блоки можно только пустыми руками, дроп и опыт отключены; заключённый не может покинуть зону и использовать команды (кроме /jinfo); можно уменьшать и увеличивать срок, переводить игроков между тюрьмами, освобождать одного игрока или всех сразу; есть муты (в том числе на всех заключённых тюрьмы), тихий режим -s, меню /infojail, голограммы тюрем и лимиты срока по группам LuckPerms.
Требования: Paper (API 1.16.5), Java 15+, CMI и CMILib, LuckPerms. Сообщения по умолчанию на русском и полностью настраиваются в config.yml.

