
BetterCallCap
A roleplay judicial system for Paper, built around the lawyer rather than the police officer. Free Minecraft Java mod for 26.1, 26.1.1, 26.1.2.
⬇ Download on ModrinthBetterCallCap
A roleplay judicial system built around the lawyer, not the police officer.
Hello everyone! I'm Cap. I'm an average tech bro like many others you might found on the internet lol. I wanted to use the introduction just to explain why this plugin exist in the first place. I really love watching legal drama shows. They are not a real representation of Law, but they are really entertaining. And come on, who wouldn't want to become a corrupt but colorful lawyer like Saul Goodman? Or maybe a top player like Harvey Specter. Anyway, I had the chance to build this project for the server I hosted with my friends. With the first tests of this plugin I really had fun, I want to share it with the internet because I hope y'all will have fun with your friends too! And every justice plugin is outdated lmfao.
Anyways, don't drink potions and fight, but if you do, call Cap!
What your players actually do
Join the bar. Apply with a practice area, pay the licence fee, set your own retainer and daily rate. Get struck off if you deserve it — and put your suspension to a vote of your colleagues if you think you did not.
Bring a case. Lay a criminal charge from a criminal code you define in config.yml, or file a
civil claim for a sum. Instruct counsel, or go on record acting in person.
Fight it. File exhibits, lodge physical items into the court's keeping, object to the other side's evidence, and watch the bench sustain or overrule you. Every exhibit the court admits is weighed; every one it throws out is worth nothing.
Or settle. Offer money, time in a cell, or a chest of property — and demand the same of the other side. One agreement can mix them freely: "I pay five hundred and you serve half an hour" is a single settlement. Three signatures, and any one of the three can stop it.
Hold a hearing. Convene the court in a real room with real seats. The judge grants and revokes the floor; whoever does not have it is not heard. Everyone is held in the room until the court rises.
Hand down judgment. Guilty, not guilty, or a mistrial, with a fine and a term inside the range the charge allows. Then appeal it.
Serve the sentence. Cells with containment, and optional prison labour that shortens the term for work actually done.
Two things that make it different
Everything is clickable
/bcc menu is the whole plugin as a window: 77 actions behind ten doors. Cases, exhibits, cells
and advocates come from lists, so nobody has to know an exhibit's number. Fines and sentences are
counted to with buttons. The only thing you still type is the grounds — the court closes the window
and asks you in chat.
And a menu button does not reimplement anything: it assembles the command and runs it. The permissions, the validation, the refusal messages and the audit trail are the same ones, not copies. A window can never do something a player could not have typed.
The criminal code is yours
Charges are data, not code. A charge is a name, a fine range, a jail range, and optionally a permission node reserving it for staff:
charges:
theft:
display: charge.theft
min-fine: 50.0
max-fine: 500.0
min-jail: 5m
max-jail: 30m
murder:
display: charge.murder
min-fine: 1000.0
max-fine: 10000.0
min-jail: 1h
max-jail: 6h
permission: bettercallcap.charge.murder
Practice areas work the same way. Your server's law is a config decision.
Installing
- Drop the jar in
plugins/and start the server. It creates its own SQLite database and needs no setup to work. - Build a courtroom: stand where the court should sit and run
/bcc court set <name>, then/bcc court seat <name> <role>for the judge, the parties and the gallery. - Build a cell or three:
/bcc jail cell set <name>. - Open
config.ymland write your criminal code.
Requires Paper (or Purpur, or Folia). It uses Paper's Brigadier command API and Adventure chat events, so it will not run on Spigot or CraftBukkit.
Optional: Vault for an economy — without one, fines and fees are simply skipped. PlaceholderAPI
for eight placeholders (reputation, winrate, active_cases, is_lawyer, specialization,
jailed, jail_remaining, convictions). Discord webhooks for case openings, verdicts and
disbarments.
Configuration and permissions
Thirteen config sections cover hearing length, containment, the appeal window and fee, the statute of
limitations, daily billing, bar discipline, judicial fees, reputation weighting, and the prison-work
system. /bcc reload re-reads the file, the criminal code and the language files.
88 permission nodes in two groups: bettercallcap.player.* is on by default and covers everything an
ordinary citizen may do; bettercallcap.staff.* is operators only and covers presiding, ruling on
evidence, and the case register.
Ships in English and Italian. Adding a language is copying one file.
Built to be trusted with your world
It moves players, takes their items and moves their money, so it is written accordingly:
- 3,584 tests, 98.2% line and 95.1% branch coverage, enforced by the build.
- Money never vanishes. Every payment goes through an escrow state machine with a reconciliation pass at startup. A crash mid-transfer leaves a row an administrator can see, not a hole in someone's balance.
- Property is never eaten. Items lodged as evidence or staked in a settlement are recorded, and handed back at the next login if the owner was offline when the case ended.
- Everything consequential is audited to an append-only JSONL log, independent of the database.
- Folia-supported, with no
BukkitScheduleranywhere in the codebase.
Source
github.com/capvto/BetterCallCap — GPL-3.0. Bug reports and pull requests welcome.
- Ships as BetterCallCap-1.0.0.jar — drop this file into the mods folder
- Download size: 1.1 MB
- Download link checked 4 Sept 2026 — working
These come from our own check of the pack file, not from the source page.