You have 4 commands for jail feature:

/cmi jail [playerName] (time) (jailName) (cellId) (-s) (r:jail_reasson) will jail player where time is optional and will use default one if not defined. jailName is optional and if not defined then nearest will be picked. cellid, again, is optional and if not defined free cell will be used. Jail reason can be anything you want and will be displayed in placeholders.

/cmi jailedit main command to manage all of your jails

/cmi jaillist will list out all jails with cell count and how many you have prisoners in each jail. Which can be clicked to get more detailed information

/cmi unjail [playerName] last and not least, will unjail player

Before we start with jail creation we have to check out config file.

Jail:
# Defines in milliseconds how often to check if player leaves jail area
# Bigger numbers can help slightly lower server load
CheckInterval: 500
# Defines default jail time when time is not povided with command
DefaultTime: 300
# Chat range in blocks while player is in jail
# Set to 0 to allow talking
# set to -1 to prevent talking in general while jailed
ChatRange: 20
# When set to true jail time will decreese while player is offline
# When set to false jail time will only be counted while player is online
CountWhileOffline: false
# When set to true jail time will not decreese if player gets into afk mode while being jailed
# When set to false, time will pass normally
NoAfk: false
WhiteListedCmds:
- cmi msg
- cmi reply

Set config settings to your own liking and your own needs. For example default jail time could be something we would want to change depending on your server type. By default its only 5 minutes.

Chat range can be useful in case you want to prevent jailed players spamming chat, as what else would they be doing. So you can limit that to particular range in blocks to allow them to talk but only to nearby players, maybe with some one who is already in jail

By default jail time will not go down if player logs out. This will help out to force player sit down entire time they have been jailed for and not simply log out and return when time runs out.

Preventing player from going afk can help out too in case player simply leaves account logged in while he is doing other things, like home work (Yes, that can happen…)

In case you will want to still allow some basic commands for jailed players you can define them in white list.

Now fun part.

First of all get some basic jail set up. Something like

No need to be fancy here.

Next, lets use CMI selection tool (default is wooden shovel) and select area. Your selection will be marked with particle effects.

Next lets create new jail with /cmi jailedit addjail [jailName] so lets pick some extremely original jail name and lets name it myJail, so command will look like this /cmi jailedit addjail myJail

After this you will get list of existing jails and you should see your newly created one like

And now easy part (yes, that one was hardest part, who knows how to build jails anyways…) click in chat on your new and awesome jail to create new cells. For newly created jail you will only see [+] sign. So go to first cell and press that [+] button. you will get list of existing cells which should include your new one, like

Repeat this step as many times as you want. There is no limit for how many cells you can have. But in general they should be separate one from each other, not limited by that, but general rule of thumb. After all we don’t want inmates to plan escape!

At this point you have working jail. Tho small inconvenience can be noticed. Players who survived throw 5 min jail time will remain in jail, even tho they are no longer officially jailed, but some one forgot to give out memo or something. So lets get rid of players who are no longer jailed, so lets set outside teleport location. As you can see 2 pictures back, there is grey out [tp] button. Lets travel to location outside jail and simply click it. You will get confirmation message like “Set new outside location” Fancy! After that you can change this location whatever you want.

So now you are done. You have jail with cells and outside location where players will go after they got released.

Bonus Stuff

Jailed players will get boos bar message showing how long they are jailed for. So that’s fancy too!

Jail Signs

In case you want to show to others who is jailed here and for how long then you have 2 options: Use dynamic signs, use holograms.

So lets set signs. Place a sign, location doesn’t mater. And lets create new dynamic sign with /cmi dsign new after this you will get something like

I know, its not so fancy, but it does what it should.

Lets add new lines like

%cmi_jail_time_myJail_1%
%cmi_jail_username_myJail_1%
%cmi_jail_reason_myJail_1%

This will show jailed time, who is jailed and for what reason if reason was defined while jailing player.  So end setup should look like

You can open dynamic sign gui (Open gui) and lower down default refresh rate if you want it to be faster, but in general for jail cells default time is fine.

Jail Holograms

For those who likes fancy things, lets make holograms. Stand where you want to place hologram and perform something like /cmi hologram new myJailCell1 where myJailCell1 is just some random hologram name. You will get something like

Does it look familiar? Yes indeed it does. So lets add lines

%cmi_jail_time_myJail_1%
%cmi_jail_username_myJail_1%
%cmi_jail_reason_myJail_1%

This will add jailed players information in same way as it was added for dynamic signs. Keep in mind that default hologram update interval can be not enough to have smooth updates, so open gui (open settings gui) and set update interval to something like 1 second.