Skip to content

Staff and World Tools

Alex Baldry edited this page Aug 8, 2026 · 2 revisions

🛡️ Staff and world tools

Gamemode and direct teleport

/gmc and /gms switch the sender between Creative and Survival. /tp <player> teleports the sender to a visible online player.

These commands use the global title, sound and particle feedback switches from config.yml.

Vanish

/vanish hides a staff member from every online player who lacks rivet.vanish.see.

  • New joins get the correct view immediately.
  • A permission refresh updates visibility immediately.
  • Losing rivet.vanish turns vanish off.
  • Teleport particles and sounds are suppressed while vanished.
  • Vanish is cleared when the staff member logs out.

Vanish affects Paper visibility checks used across Rivet, including player targets, /near, TPA completions and private-message targets.

Flight

/fly grants or removes flight without changing gamemode. Players still double-tap jump to start flying.

  • Flying staff get a small cloud trail when particles are enabled.
  • Vanished staff do not show the trail.
  • Losing rivet.fly, logging out or disabling Rivet removes managed flight.
  • Creative and Spectator players keep their natural gamemode flight when Rivet flight is turned off.

/flyspeed accepts any finite value from -1.0 to 1.0. Negative values reverse flight movement, while 0 effectively stops it.

Heal, feed and god mode

/heal restores the target to their current maximum health and clears fire and freezing.

/feed sets hunger and saturation to 20 and exhaustion to 0.

/god sets Paper's invulnerable flag. It can toggle, or accept an explicit true or false. By default god mode is cleared on logout and shutdown. Set god.persist-across-reconnects: true in settings/staff.yml to save enabled UUIDs in data/staff.yml.

Timed boss bars

/bossbarmsg creates a MiniMessage boss bar for one player or everyone online. It is removed automatically when its duration ends and is cleaned up if Rivet shuts down.

/bossbarmsg Alex Welcome back!
/bossbarmsg all -d:30 -c:yellow -s:segmented_20 <gold><bold>Vote party!

Default duration, colour and style are set in settings/staff.yml.

Advancement toasts

/toast shows a temporary advancement-style notification without leaving a permanent advancement behind.

/toast Alex Welcome to the server!
/toast all -t:challenge -icon:diamond <aqua><bold>Vote goal reached!
  • -t: accepts task, goal or challenge.
  • -icon: accepts a valid item material.
  • Defaults come from toast.default-type and toast.default-icon in settings/staff.yml.
  • all includes only online players visible to the sender.

Rivet creates the advancement, awards it, and removes it shortly afterwards. The message supports MiniMessage.

Staff notes

Notes are attached to player UUIDs, so a name change does not separate a player from their history.

/note Alex add Warned for chat spam
/note Alex list
/note Alex remove 3
/note Alex clear
/note Alex clear confirm

Each entry records a sequential ID, its text, the staff member's name and UUID, and the time it was created. Targets must be online or already known to the server. Notes are kept in data/notes.yml; a failed save rolls the change back instead of showing a result that was not stored.

Shared session addresses

/sameip [player] compares the selected online player's current connection address with other visible online players. It does not search historical sessions or save addresses to disk.

Important

A shared address can come from the same household, school, workplace, mobile carrier or VPN. Rivet shows a configurable reminder that a match is not proof of alternate accounts.

Live inventory access

/invsee <player> opens the target's real, live inventory. /enderchest [player] does the same for an ender chest.

Rivet deliberately does not edit offline player data. Loading player files behind Paper's back can overwrite newer inventory state, so staff targets must be online.

Item creation and distribution

/i

Gives the sender any valid item material. The default amount is 64. Inventory overflow drops naturally at the sender.

/giveall

Gives the requested item and amount to every online player. Overflow drops at each recipient.

/donate

Moves the held stack, or part of it, directly to another online player. The recipient's overflow drops at their feet. The sender cannot donate to themselves.

/clear

/clear can remove everything, one material, a limited amount, another player's items or only plain stacks.

/clear Alex diamond:16;plain -s
  • diamond selects a material.
  • :16 sets the maximum amount removed.
  • ;plain excludes named, enchanted or otherwise customised stacks.
  • -s suppresses the result message.

Condensing materials

/condense converts groups of nine plain materials into storage blocks. Supported conversions are:

Input Output
Iron, Gold, Copper Matching metal block
Diamond, Emerald, Coal Matching storage block
Redstone, Lapis Lazuli Matching storage block
Raw Iron, Raw Gold, Raw Copper Matching raw block
Wheat Hay Bale
Dried Kelp Dried Kelp Block
Slime Ball Slime Block
Bone Meal Bone Block

Items with metadata are never condensed. Rivet tests each conversion against the available inventory space and only commits a result that fits.

Repair, rename and lore

/repair sets the held damageable item's damage to zero. /repair all scans the full carried inventory and needs rivet.repair.all.

/rename and /lore operate on the main-hand item. Limits and blocked materials come from settings/inventory.yml.

Without the matching .format permission, input is stored as plain text. With it, only MiniMessage colours and text decorations are parsed. Clicks, hovers, commands and other interactive tags are unavailable.

Test worlds

Rivet tracks named flat and void worlds in data/worlds.yml.

Flat worlds

/flatworld create builds
/flatworld tp builds
/flatworld list
/flatworld reset builds

Flat worlds are created without structures. The list uses clickable names to run the teleport command.

/flat remains as a simple legacy shortcut for a flat world literally named flat.

Void worlds

/voidworld create displays
/flatworld tp displays

Void worlds use an empty custom chunk generator. The shared /flatworld tp and /flatworld list commands work with both tracked types. Only tracked flat worlds can be reset.

Reset safety

Before a reset, Rivet moves occupants to another loaded world's spawn and unloads the target without saving. It then removes the world folder and generates a fresh flat world with the same name.

[!DANGER] A test-world reset permanently destroys everything in that world. Back it up before running the command.

World spawn, mobs and biome search

/worldspawn teleports to the current world's native spawn. /setworldspawn updates that native spawn.

/killall removes every Bukkit Mob in the current world. That includes hostile mobs, animals, villagers and other living AI creatures.

Warning

/killall is broad. It is not limited to hostile mobs.

/findbiome <biome> uses Paper's biome search asynchronously. The search radius and horizontal and vertical steps are configurable. The returned coordinates are clickable and prefill a teleport command, but Rivet does not run that teleport automatically.

Only one biome search can run per player at a time.

Safe column teleport and tree generation

/top [player] scans the player's current X/Z column from the top down and teleports them to the highest safe standing position. Dangerous ground, leaves and spaces without two blocks of clearance are skipped. Targeting another player needs rivet.top.others.

/tree <tree-type> generates one of Bukkit's vanilla tree types above the block in the crosshair. The target must be suitable ground, within tree.maximum-range, and have a clear area three blocks around it with 24 blocks of height. Rivet refuses the command instead of replacing nearby structures.

Use Bukkit tree names such as TREE, BIG_TREE, BIRCH, REDWOOD, ACACIA or CHERRY. Tab completion shows the types supported by the running server.

Time and weather

Time commands affect the sender's current world:

Command Minecraft time
/day 1000
/noon 6000
/night 13000
/midnight 18000

/sun, /rain and /thunder update the current world's storm and thunder flags.

Rotating announcements

Announcements are configured under announcements: in settings/announcements.yml. Every enabled entry with a string message joins the rotation.

  • The interval has a minimum of one second.
  • The rotation restarts at the first entry after a reload.
  • skip-when-empty prevents broadcasts while nobody is online.
  • An optional sound can play to every online player.
  • Invalid sound names produce a console warning without stopping the announcements.

Reloading safely

/rivet reload validates every configuration file before swapping anything live. A failed reload leaves the current configuration untouched.

These components refresh immediately when active:

  • chat formats;
  • announcement schedule;
  • grave expiry task;
  • permission groups and online attachments;
  • settings read directly at command or event time.

Module enable and disable changes wait for a restart.

Clone this wiki locally