Skip to content

Utilities and Misc

Reece Williams edited this page Sep 2, 2026 · 2 revisions

Utilities and Misc

The grab-bag. A pile of small standalone features, commands, and a couple of integrations that didn't fit anywhere else.

Dependencies: most of these are standalone (vanilla Bukkit/Spigot/Paper, no extra plugins). The exceptions, called out per feature below:

  • BungeeServerCMD needs a BungeeCord/Velocity proxy (it's plugin-messaging).
  • ShopWorkAround needs the target shop plugin (default ShopGUIPlus).
  • Reclaim / DailyRewards just run whatever console commands you configure, so they need whatever plugin owns those commands.
  • StaffList reads primary groups from LuckPerms.
  • Holograms, FancyAnnounce, and ServerInfoCMDS use PlaceholderAPI if it's installed, but work fine without it.

Utilities

Holograms

Spawns text holograms (TextDisplay entities) from Holograms.yml at saved locations, with PAPI placeholder support per line.

  • Config: Misc.Holograms.Enabled -> default true
  • Companion file: Holograms.yml (one key per holo, each with location + lines)
  • Perm: hologram.admin (op bypasses)
  • Commands: /holograms create|remove|show|hide|teleport|list|removenear|reload <name> (aliases /holo, /hologram)

Notes: PAPI lines resolve against a random online player, so server-wide placeholders like %server_uptime% work. Old ArmorStand holos from before the migration get cleaned up on load. Legacy Y offset is handled automatically (stores Y+2, renders Y-2).

Visibility

Player-side toggle to hide other players. /visibility all shows everyone, /visibility staff hides everyone except staff.

  • Config: Misc.Visibility.Enabled -> default true
  • Perm: visibility.bypass (players with this stay visible in staff mode). visibility.staff gates the toggleusage and forceshowall admin subcommands.
  • Placeholder: %stools_isvisible% returns true/false (true = the player is currently hidden)

Rename

/rename sets an item's display name or edits its lore lines, and also blocks anvil-renaming of certain item types.

  • Config: Misc.Rename.Enabled -> default true
  • Perms: tools.rename (name), tools.rename.lore (lore)
  • Option disabledRename: list of materials that can't be renamed (via command or anvil). Defaults EXPERIENCE_BOTTLE, BEACON.
  • Usage: /rename name <text>, /rename lore add <line#> <text>, /rename lore remove <line#> (lines 0-48)

Tools admin

/tools admin command gated by Misc.Tools.Permission (default toolscmd.admin). Always available.

Commands

Most of these live under Commands: and ship disabled by default. Flip Enabled: true to turn them on.

Countdown

/countdown <seconds> [reason] broadcasts a color-changing countdown (white -> red -> yellow -> green).

  • Config: Commands.Countdown.Enabled -> default false
  • Perm: countdown.use

ChangeSlots

/changeslots <number> changes the server's max player slots at runtime via reflection, and writes it back to server.properties.

  • Config: Commands.ChangeSlots.Enabled -> default true
  • Perm: changeslots.use
  • Option AnnounceFullToPermissionedUsers (default true): when the server hits max players, permissioned users get a "server is full, /changeslots" notice on join.

ChatPoll

/poll start <count> opens a numeric poll; players type a number in chat to vote, /poll stop announces the most common answer.

  • Config: Commands.ChatPoll.Enabled -> default false
  • Perm: poll.use

ChatNumberGuess

/guess start picks a random 1-100 number, first player to type it in chat wins. /guess stop ends it.

  • Config: Commands.ChatNumberGuess.Enabled -> default false
  • Options: command (default guess), AdminPerm (default guess.admin)

GiveAll

/giveall <item> <amount> runs minecraft:give @a for everyone online.

  • Config: Commands.GiveAll.Enabled -> default false
  • Perm: giveall.use

DailyRewards

/reward runs a configured list of console commands once per 24h (cooldown keyed by player IP, persisted in DATA/DailyRewardCooldown.yml).

  • Config: Commands.DailyRewards.Enabled -> default false
  • Option rewards: console commands to run, %player% supported
  • Admin subs: /reward reset <IGN>, clearall, save
  • Dependency: whatever plugin owns your reward commands (e.g. a crate plugin)

Reclaim

/reclaim runs a per-group bundle of console commands once ever (used-UUID list in DATA/Reclaim.yml). Picks the group the player has a perm for.

  • Config: Commands.reclaim.Enabled -> default false
  • Options: permissions map (e.g. group_dragon -> commands; note the _ is stripped when checking the perm, so group_dragon checks perm groupdragon). BeginAtIndex (default 6) trims the group name shown back to the player.
  • Dependency: whatever plugin owns the configured commands (default config uses a bundle command)

AltTP

/alt lets players link alt accounts (with accept confirmation) and teleport them. Stored in DATA/AltTP.yml.

  • Config: Commands.AltTP.Enabled -> default false
  • Usage: /alt link|accept|unlink|tp <player>, /alt alts

StaffList

/stafflist lists online staff grouped by rank, using per-group format strings. Skips vanished/invisible staff.

  • Config: Commands.StaffList.Enabled -> default true
  • Option groups: map of LuckPerms primary-group name -> display prefix. Only listed groups show up.
  • Dependency: LuckPerms (reads each player's primary group)

Announcements

Donation

/donation <all|player> <IGN> <package> broadcasts a centered donation message. %player% and %package% fill in, plus your PluginVariables.

  • Config: Donation.Enabled -> default true
  • Perm: donation.use

FancyAnnounce

/announce <group> <args...> broadcasts a preset message group with argument substitution. Each group defines an ArgumentsSyntax; the last arg absorbs all remaining words (so a location can be "The Nether Fortress"). PAPI supported.

  • Config: FancyAnnounce.Enabled -> default true
  • Perm: announce.use
  • Options per group: ArgumentsSyntax, CenterMessage (true = per-player centered, false = plain broadcast), Message lines with %arg-1%, %arg-2%, %player%

ServerInfoCMDS

Turns simple commands (like /discord, /buy) into canned message responses defined in ServerInfoCommands.yml. Cancels the real command. PAPI supported.

  • Config: ServerInfoCMDS.Enabled -> default true
  • Companion file: ServerInfoCommands.yml (one key per command, each with Enabled + message lines)

Items and GUIs

Vouchers

Right-click a voucher item to redeem it (runs configured console commands and consumes one). Admins hand them out with /voucher give|giveall, or preview via /voucher gui.

  • Config: Vouchers.Enabled -> default false
  • Companion file: Vouchers.yml (one key per voucher: Name, Item, Lore, Commands)
  • Perm: voucher.admin for the give/gui commands
  • Options: Options.RedeemMessage (%voucher%, %voucherid%), Options.Glowing

FeaturesGUI

In-game menu that opens on a configured command, showing display-only items from FeaturesGUI.yml. Clicks are cancelled (it's a display, not a shop).

  • Config: FeaturesGUI.Enabled -> default false
  • Companion file: FeaturesGUI.yml (Command, Name, Rows, default colors, and an Items section)

Integrations

ShopWorkAround

Remaps clicks inside another shop plugin's GUI to run a command instead. It reads the shop plugin's own config to learn the menu title, then matches clicked item names and fires your command.

  • Config: ShopWorkAround.Enabled -> default false
  • Dependency: the target shop plugin, ShopWorkAround.plugin (default ShopGUIPlus). If the plugin isn't found it just logs and does nothing.
  • Options: MenuNameInConfig (where the menu title lives in the shop's config), RemappedClicks (each entry has name, command, CloseInvBeforeCommand, MakePlayerSayCommand), DEBUG

BungeeServerCMD

/join <alias> sends the player to another proxy server via BungeeCord plugin messaging.

  • Config: Bungee.BungeeServerCMD.Enabled -> default false
  • Dependency: a BungeeCord/Velocity proxy (uses the BungeeCord plugin-message channel, Connect subchannel)
  • Options: command (default join), Aliases map of alias -> real server name

Clone this wiki locally