Skip to content
StudioCubed

Overview

Our prison set-up is seven plugins that run on top of PinnaPrison. Together they add rank chat, crates, timed events, mining momentum, a battle pass, pickaxe perks and pets. They all use PinnaPrison's currencies, boosters and menus, so they work with your prison and with each other from the first start. This page covers installing them, putting your server's name on them, and what to check before you open. Each plugin has its own page for the details.

What's in the set-up

Plugin What it adds Players use Admin permission
PrisonChat Chat formats by rank, tags, colours, item showcase, private messages, spam filters, staff tools and chat games. /chat prisonchat.admin
PrisonCrates Key crates with bulk opening, animated crates in the world and lootboxes. /crates prisoncrates.admin
PrisonEvents Timed mining, currency and community events that start on their own. /events prisonevents.admin
PrisonMomentum A ladder of boosts for mining without a break, which drains away when players stop. /momentum prisonmomentum.admin
PrisonPass A seasonal battle pass with free and premium rewards, and daily and weekly tasks. /pass prisonpass.admin
PrisonPerks Random boost perks that players roll onto their pickaxe with Perk Tickets. /perks prisonperks.admin
PrisonPets Pets that hatch from eggs, level up while players mine and boost their income. /pets prisonpets.admin

Run all seven or only the ones you want: none of them needs another to work. Operators have every admin permission already.

What you need

Requirement Details
Paper 26.1.1 The server software the set-up is built for, running on Java 25.
PinnaPrison 1.2.25 Required by all seven. EdLib ships inside the PinnaPrison jar, so don't install it separately.
PlaceholderAPI Optional, but install it if you run PrisonChat: the default chat line needs it for the rank and rebirth numbers. You also need it to use any of the set-up's placeholders in another plugin, such as your tab list.
LuckPerms Optional. PrisonChat takes chat formats and prefixes from LuckPerms groups, and PrisonCrates' permission: reward needs it. It's also the easiest way to give out the permissions in Before you open.
Vault, DiscordSRV Optional. Vault lets PrisonCrates pay money rewards when PinnaPrison has no money currency of its own. DiscordSRV relays PrisonChat to Discord.
Internet on first start Paper downloads each plugin's database drivers the first time it loads. After that, the plugins work offline.
A database Nothing to set up. Each plugin keeps its data in its own folder, and MySQL is optional for all of them.

Install it

The set-up is drag and drop: there's nothing to unzip and no installer to run.

  1. Make sure PinnaPrison 1.2.25 is installed and working on your Paper 26.1.1 server.
  2. Stop the server.
  3. Open the server's plugins folder. On a host, use the file manager in your control panel (most let you drag files straight in) or an SFTP program such as FileZilla or WinSCP. On your own computer, open the folder in your file explorer.
  4. Drag the seven .jar files from your download into the plugins folder, next to the PinnaPrison jar. Leave out any you don't want. Drop them in as they are, not unzipped and not inside another plugin's folder. Add PlaceholderAPI or LuckPerms now too if you're using them.
  5. Start the server. Each plugin creates its own folder in plugins/, and all but PrisonEvents put their menus in plugins/PinnaPrison/guis/.
  6. Join as an operator and run /pinna reload once. It loads the "Perk:" line PrisonPerks adds to the pickaxe lore on its first start.

Then check everything loaded:

text
/plugins
/chat
/crates
/events list
/momentum
/pass admin season info
/perks
/pets
  1. /plugins lists the plugins you installed in green. A red one failed to start: read the console from the top of the start-up for the reason.
  2. The next six commands each open a plugin's menu or list. Each plugin's page starts with a short test of its main features.
  3. /pass admin season info should say Active. If it says Starting soon or Ended, set the season dates (see Before you open).

Updating. Stop the server, replace the old jar with the new one and start it again. The plugins only write a file when it's missing, so your edited files and menus are kept.

The set-up ships with a placeholder server name and placeholder Discord and store links. Change these to your own before you open:

What Where to change it What it says now
Server name plugins/PinnaPrison/variables.yml, the value under servername &bPinna&fPrison
Discord invite plugins/prisonchat/announcements.yml (the discord announcement) and plugins/prisonchat/emojis.yml (what [discord] turns into) https://discord.gg/yourserver
Store address plugins/prisonchat/emojis.yml (what [store] turns into) and plugins/PinnaPrison/guis/prisonpass/prisonpass-tiers.yml (the premium lines) https://store.yourserver.net and store.yourserver.net
Links players may post plugins/prisonchat/filters.yml, the whitelist under advert yourserver.net and discord.gg/yourserver
Store and vote buttons plugins/prisonchat/announcements.yml (the store and vote announcements) They run /buy and /vote
Welcome, join and quit messages plugins/prisonchat/config.yml, under join-quit "Welcome {player} to the server for the first time!"
The chat line plugins/prisonchat/formats.yml See PrisonChat
Currency names and colours plugins/PinnaPrison/currencies/<id>.yml, display-name and color Tokens, Gems, Money and so on
Message prefixes and wording Each plugin's messages.yml For example [Events] and PETS »

Nothing in the set-up shows the server name by itself. Use %pinnaprison_variable_servername% wherever you want it, such as your tab list, scoreboard or messages, so the name only lives in one place and changes everywhere at once.

The plugins' own files reload with their reload commands (see Files and reloads). PinnaPrison's files and every menu reload with /pinna reload. If a change doesn't show, restart the server.

Tab list and scoreboard

Neither PinnaPrison nor the set-up draws a tab list or a sidebar scoreboard. Those come from your tab or scoreboard plugin, so edit the header, footer and lines in that plugin's own config. These placeholders are the ones most worth adding (they need PlaceholderAPI):

Shows Placeholder
Your server name %pinnaprison_variable_servername%
The player's name in their chosen colour %prisonchat_name%
The player's chat tag %tags_tag%
Crate keys held %prisoncrates_total%
Time until the next event %prisonevents_next_in%
Momentum level %prisonmomentum_level_roman%
Battle pass tier %pinnaprison_variable_pass_tier%
Pickaxe perk %prisonperks_current_perk%
Pets equipped %pinnaprison_variable_pets_equipped%

If your tab plugin needs & codes, use %prisonchat_name_legacy% and %tags_tag_legacy% for the name and tag. Each plugin's page lists all its placeholders.

How the plugins work together

Boosts all go through PinnaPrison

PrisonPets, PrisonMomentum and PrisonPerks hand their boosts to PinnaPrison. They stack with each other and with your other boosters, and each one shows its own line in /boosters. Leave boosters turned on in plugins/PinnaPrison/boosters.yml. PrisonPets warns in the console when they're off.

Boosts are set by currency id, such as tokens or gems. Use the ids from plugins/PinnaPrison/currencies/. All three plugins warn in the console at start-up about an id PinnaPrison doesn't know.

Rewards from one plugin can give another plugin's rewards

Every plugin can run a console command as a reward, so any of them can hand out another's rewards:

To give Console command
Crate keys prisoncrates give <player> <crate> <amount> -s
A lootbox prisoncrates givelootbox <player> <lootbox> <amount> -s
A pet egg pets admin give <player> egg <egg> <amount>
Perk Tickets prisonperks tickets give <player> <amount> -s
Battle pass XP pass admin xp give <player> <amount> -s
The premium pass pass admin premium give <player> -s
Momentum momentum addblocks <player> <amount> -s
Event score events progress <player> <event> <amount>

-s hides the confirmation message, which would otherwise go to the console. Pet eggs and lootboxes need the player to be online.

This is how each plugin writes a console command, and what stands for the player's name:

Plugin Reward line Player's name
PrisonChat (chat games) [console] <command> {player}
PrisonCrates command:<command> {player}
PrisonEvents [CONSOLE] <command> {player}
PrisonPass [console] <command> {player}
PrisonPets (eggs) A line under commands: %player%

For example, this line in a PrisonEvents reward gives the winner one Rusty Crate key:

yaml
- "[CONSOLE] prisoncrates give {player} rusty 1 -s"

Perk Tickets and battle pass XP are also PinnaPrison currencies, perktickets and passxp. Anywhere PinnaPrison takes actions, give-eco perktickets 5 gives five tickets.

PrisonPass also has weekly tasks for opening crates and hatching eggs. They're switched off until another plugin reports progress to them, as described in PrisonPass's daily and weekly tasks.

Every plugin except PrisonEvents, which has no menus, keeps its menus in plugins/PinnaPrison/guis/<plugin>/. They use PinnaPrison's GUI format and reload with /pinna reload, not the plugin's own reload command. The plugins write them once and never overwrite them. To get a default menu back, delete its file and restart the server.

Before you open

Some bundled files need changing before players arrive:

  1. Set the battle pass dates. The bundled season ends on 6 November 2026. Set start, end and timezone in plugins/prisonpass/seasons/season-1/season.yml, then run /pass admin reload. See Seasons.
  2. Fix the crate key rewards. PrisonPass's key rewards in rewards.yml and PrisonEvents' Vote Party use a command PrisonCrates doesn't understand. Change them to prisoncrates give {player} <crate> <amount> -s. See PrisonPass and PrisonEvents.
  3. Fix the Mythic Egg. The pet shop sells a mythic_egg that eggs.yml doesn't have. Add the egg or remove the listing. See PrisonPets.
  4. Read the console. After a start-up, a line saying an id "is not a PinnaPrison currency" means a bundled file uses a currency your server doesn't have. Fix the id in that file and reload.
  5. Give out the permissions. Players start with no chat tags or colours, and nothing gives them extra pet slots. Add prisonchat.tag.<id>, prisonchat.<part>color.<id> and prisonpets.slots.<n> to your ranks. See PrisonChat.
  6. Change the names and links. See Change the names and links.
  7. Test as a normal player. Operators skip every chat filter and own every tag and colour, so chat and the menus look different to them. Check from an account that isn't an operator.

Files and reloads

Plugin Its folder Reload command Player data
PrisonChat plugins/prisonchat/ /prisonchat reload chat.db
PrisonCrates plugins/PrisonCrates/ /prisoncrates reload The data/ folder
PrisonEvents plugins/PrisonEvents/ /events reload data/prisonevents.mv.db
PrisonMomentum plugins/prisonmomentum/ /momentum reload momentum.db
PrisonPass plugins/prisonpass/ /pass admin reload pass.db
PrisonPerks plugins/prisonperks/ /prisonperks reload perks.db, with perks.db-wal and perks.db-shm
PrisonPets plugins/prisonpets/ /pets admin reload pets.db
  • Changes to the storage section of any plugin's config.yml need a restart.
  • Menus reload with /pinna reload.
  • Back up the player data files with the rest of your server, but don't edit them. With MySQL, the data is in your database instead.

Last updated

Type at least two letters to search the docs.