Skip to content
OrePlugins

StaffTools

Available

A ban can be the size of one world instead of the whole server, and a moderator on a phone can issue one from a menu of buttons. Everything is recorded and nothing is deleted — punishments are revoked, never removed, so months later the question asked in an appeal still has an honest answer.

What it does

  • A ban the size of the offence

    /banworld bans a player from one world and leaves the rest of the server alone. It does not stop the login — it stops them entering that world, on arrival and on every world change, and moves them out with an explanation. Staff reach for a server-wide ban on a world-specific offence mainly because nothing else exists. This is the something else.

  • A punish panel that works from a phone

    /punish (player) is a menu of offence buttons. A moderator on Bedrock has no tab-complete and a chat box that covers the screen — they realistically cannot type /tempban Steve 3d spawn killing. Here the reason and the length are both buttons, and the panel shows how many previous punishments are on the record before anyone picks one.

  • Nothing is ever deleted

    A pardon revokes a punishment; it does not remove it. /history shows what happened, who did it, who lifted it and which worlds it covered — including the entries that have already expired. A record that can be edited is not evidence, and the whole reason to keep one is the question somebody asks six months later.

  • It tells you who actually owns /ban

    /ban and /kick are vanilla names, and EssentialsX, LiteBans and AdvancedBan all want them. Bukkit is first-come-first-served and the loser silently gets only its namespaced form — so a ban can reach the wrong plugin, recording no reason, appearing in no history and impossible to lift. StaffTools takes those names back from vanilla, says so at startup, and answers /stafftools commands with the truth about your server.

  • Staff mode gives the inventory back

    Vanish, flight and empty hands, with everything you were carrying — armour included — held and returned when you leave it. It is handed back on shutdown and on reload as well, so the one way to lose it is a hard crash mid-session. Vanish is published as standard metadata, so other plugins can ask whether somebody is hidden without reflecting into anything.

  • One node for a moderator

    stafftools.staff grants the everyday set in a single permission, and deliberately withholds the two that should be opt-in: invsee, which can edit another player’s inventory, and reload. Every node is declared with a real default, because an undeclared node is op-only whatever your permissions plugin says about it — which reads exactly like a plugin that does not work.

Compatibility

Storage
SQLite (data.db), WAL, fetched by Paper on first start
Punishments
Ban, tempban, world ban, mute, tempmute, kick, warn
Scope
Server-wide, or any list of worlds
Dependencies
None. Floodgate optional, for native Bedrock forms
Mute cost
Cached at login — a chat message never queries the database

Commands

Permissions default to true for player commands and op for admin ones.

StaffTools commands and permissions
CommandWhat it doesPermission
/punish (player)The panel. Pick an offence; the reason and the length come with it.stafftools.punish
/ban (player) [reason] · /tempban (player) (time) [reason]Permanent and timed bans. Takes the name back from vanilla.stafftools.ban
/banworld (player) (world) (time|perm) [reason]Ban from one world only. The player stays on the server.stafftools.ban
/mute · /tempmute · /unmuteThe same for chat, covering /msg and the other commands that are chat by another name.stafftools.mute
/history (player)The record: every punishment including lifted ones, plus staff notes.stafftools.history
/note (player) (text)Something worth remembering that is not a punishment.stafftools.note
/staffmode · /vanish · /freeze (player) · /invsee (player)The staff toolkit. Inventories are held and handed back.stafftools.mode, and one node each
/report (player) (reason) · /reports [close (id)]Anyone can file one; staff are told immediately rather than waiting for somebody to look.stafftools.report (everyone)
/stafftools commandsWhich command names this plugin actually owns on your server.stafftools.reload

Before you buy

  • I already run EssentialsX. Will they fight over /ban?

    Only if you let load order decide it. Put the names you want EssentialsX to keep in commands.disabled and StaffTools will not register them at all — you keep the staff mode, freeze, vanish, reports, notes and world bans without two plugins claiming the same word. Punishments issued with a handed-over command are not recorded here, which is the trade, and the plugin says so rather than letting you find out.

  • Does a world ban kick the player?

    No, and that is the whole point of having both. They stay connected and are moved out of the world they are banned from, to your configured fallback world, with a message saying why. If there is nowhere at all to send them they are kicked instead — leaving somebody standing in a world they are banned from makes the punishment look broken to everyone who can see them.

  • Do Bedrock players get a real form?

    With Floodgate installed, yes — the punish panel is a native Bedrock form. Without it everyone gets a chest menu, and that is a supported configuration rather than a degraded one. The chest menus are built to be usable from Bedrock regardless: plain left-click only, and nothing important hidden in hover text.

  • What does a mute cost on a busy server?

    Nothing measurable. Each player’s mute is resolved once during their login and kept in memory, so an ordinary chat message never touches the database. A mute or an unmute takes effect on that player’s very next message, and it survives them reconnecting.

  • Can staff punish people quietly?

    punishments.broadcast chooses between everyone, staff only, and nobody. The console always hears it whatever you pick — that is the audit trail, and it is the first thing you will want when a player disputes a ban.

  • What happens to the record if I restart?

    Punishments, reports and notes are in SQLite and survive everything. Vanish, freeze and staff mode are in memory by design; inventories are always handed back on shutdown and on reload, so the only way to lose one is a hard crash while somebody is in staff mode.