
ServerCore ClaimCore
> Land claims that are not boxes. A claim is a list of rectangles, so L-shaped plots are > normal. Live coloured preview before you spend, claim blocks earned by playing, global > trust, two flag sets per claim. Flat files, no dependencies.
Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
ClaimCore
Land claims and grief protection for Paper — built around the thing every other claim plugin makes you work around.
A claim is a list of rectangles, not a bounding box. Mark a plot. Mark a strip beside it. Mark the corner. All three become one L-shaped claim: one owner, one member list, one flag set. No seams, no bounding box swallowing your neighbour's garden, no second claim against your limit. Do it a dozen more times and it is still one claim.
A live preview, in colour, before you pay. While the wand is in your hand the plot is drawn in coloured glass — green if you can claim it, blue where it joins land you already own, orange if you cannot afford it, red if it belongs to somebody else. Nothing is placed in the world; every block is a packet sent to you alone.
Claim blocks you earn by playing. A starting allowance, a payout every N minutes with a daily cap, and a hard rule that one block column costs one claim block, height free. Unclaiming returns them in full, immediately.
Trust once, everywhere. /claim trustall Steve and Steve is trusted on everything you
own — including the claims you have not made yet. Per-claim trust still overrides it, so
your vault can be different from the rest.
Two flag sets per claim. What a visitor may do, and what a trusted player may do. "My friends can open my chests, strangers cannot" is one command, not a compromise.
Sixteen flags that map to real grief reports. Break, place, interact, containers, PvP, TNT, mob explosions, redstone controls, pistons, item frames, armour stands, vehicles, fire, enderman grief, other explosions, farmland trampling. Nothing that exists to serve another plugin's feature.
The reason to buy this one
The two bugs every claim plugin has
A piston never crosses a claim border — not into a claim, and not out of one. Both the block's current column and its destination are checked, and so is the piston head. It is a hard rule rather than a flag, because it is the oldest claim bypass in Minecraft and it looks like "the piston worked" to anybody watching.
An explosion is filtered block by block, not cancelled. A creeper at the edge of a claim craters the wilderness and leaves the claim intact. Cancelling outright would make TNT cannons and mob farms behave differently near claims than away from them, and players notice.
And the one that costs you TPS
The obvious way to store an irregular claim is a set of every column it covers. A 500×500 claim is then a quarter of a million boxed keys — about four megabytes for one plot — rebuilt every time the plugin needs the claim as a whole.
ClaimCore stores that same claim as one rectangle. Area, containment, overlap, adjacency and border geometry all come from interval arithmetic over a short list.
findClaim — which runs on every block break, place, interact, explosion block and piston
push — allocates nothing. The world is resolved by object identity rather than by
building a lowercased string every call, chunks are keyed by a primitive long in an
open-addressed table rather than a boxed Long in a HashMap, and candidates are iterated
as an array so there is not even an iterator object.
Ten claims and ten thousand claims cost the same per block break.
Also worth knowing
- No dependencies. Nothing in
depend:, nothing insoftdepend:. No database, no economy hook, no protection-plugin API. ClaimCore never calls another protection plugin — it is the protection plugin. - Flat files you can repair. Claims are grouped per world, balances are separate, and the format is documented so an owner can fix any of it in a text editor.
- Data safety taken seriously. Every save is atomic — temp file, then move — with a session backup, saves on a timer and after every destructive action, and only for the worlds that changed. A claim file that will not parse stops the module rather than loading silently as an empty claim set, because starting empty would unprotect every base on the server and the next autosave would make it permanent.
- Three modules, each switchable, with one clear log line when a dependency is off — never a half-started module. Turn the visuals off and the protection is identical with no block-change packets at all.
- Permission-driven, never rank-driven.
claimcore.blocks.bonus.<amount>gives a group more land without ClaimCore knowing what a rank is; revoke the node and the allowance goes with it. No rank name anywhere in the plugin. - Bilingual out of the box. English and Dutch ship complete. Every message, every menu string, every flag description and the wand's own name and lore live in the language files.
- Tested where it matters. 147 unit tests over the geometry, the selection rules, the carve maths, the merge rules, the budget arithmetic and the outline geometry — all the parts that are easy to get subtly and expensively wrong.
Commands
| Command | What it does |
|---|---|
/claim wand |
Get the claim wand |
/claim create [name] · expand · unclaim |
Claim, grow, or give land back |
/claim info · list · outline · menu |
See what you have |
/claim blocks |
Used, total, remaining, earning status |
/claim trust <player> [role] · trustall |
Per-claim or global trust |
/claim flag <flag> <on|off> [trusted] |
Both flag sets |
/claim transfer <player> · accept · deny |
Hand a claim over, with consent |
/claimadmin list|info|tp|delete|deleteall|claim|reload |
Staff |
/zone create|list|info|flag|delete |
Subregions, if you want them |
Full command, permission, flag and storage reference in the bundled docs/.
Requirements
- Paper 1.21 or newer
- Java 21 or newer
- No dependencies
Spigot and Folia are not supported.

