Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
PlotRand
Lets plot owners pick their PlotSquared plot's border style from a GUI - one permission per style.
Every plot in PlotSquared already has an outline. This puts a ring of blocks along it - stone, sandstone, quartz, whatever styles you configure - and gives the owner an inventory GUI to switch between the ones they have permission for. /rand opens it; /rand set <style>, /rand remove and /rand info work without opening anything if that's what you'd rather bind to a command block or menu plugin.
Drop the jar in and restart. The default styles work without touching the config.
Requirements
- PlotSquared - required, the plugin disables itself without it
- Paper 1.21.x or a fork
How it works
The border is drawn on the outer edge of the plot's bounding box, at the Y level the owner was standing on when they applied it (plus border-height-offset) - so it lines up with what they built, not with plot data that only knows the full column. Only the perimeter is touched, never a single block inside it.
Switching styles restores what was there before. The blocks that stood where the ring now is are remembered per plot, so /rand remove puts them back exactly, and changing styles a second time doesn't stack leftovers from the first.
A cooldown sits between changes. cooldown-seconds in the config decides how long, so the border can't be flipped every few seconds for fun.
Configuring styles
Every style in config.yml is a block, a GUI slot, and a permission node:
styles:
stein:
display-name: "&fStone"
material: STONE_BRICKS
permission: plotrand.style.stein
slot: 10
Add as many as you want, give each one its own material and permission, and grant them through your permission plugin the way you'd grant any other node - ranks get more styles, VIP gets gold and emerald, everyone gets stone and wood by default. Locked slots still show up in the GUI, greyed out, so players know what they're missing and which permission unlocks it.
Commands
| Command | What it does |
|---|---|
/rand |
Opens the border-selection GUI for the plot you're standing on |
/rand set <style> |
Sets a style directly, no GUI |
/rand remove |
Removes the border and restores the original blocks |
/rand info |
Shows the plot's currently active style |
/rand admin set <style> |
Force-sets a border on any plot, bypasses ownership |
/rand admin reload |
Reloads config.yml |
Permissions
| Node | Grants |
|---|---|
plotrand.use |
Access to /rand at all (default: true) |
plotrand.admin |
Admin set/remove/reload (default: op) |
plotrand.style.<id> |
One node per style, matching the id in config.yml |
Support
Made and maintained by LucasTHCR.
Questions, bug reports and feature ideas go to dc.gg/paperstream, or open an issue on Codeberg.
License
Copyright (C) 2026 LucasTHCR
PlotRand is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
Short version: use it, study it, change it, pass it on. Anything you distribute that's built on it has to be GPLv3 too and has to ship its source.


