Description
RankSwitcher
Let your players show off every rank they've earned — without losing a single permission.
🧩 The Problem
You've built a great progression system — playtime ranks, VIP tiers, staff roles. But the moment a player unlocks a new rank, their old one vanishes from view. All that grinding for "Veteran" becomes invisible the second they buy VIP. Your economy plugin, your playtime plugin, and your donor perks all fight over a single LuckPerms Primary Group, and somebody always loses.
✅ The Fix
RankSwitcher lets every player keep all their unlocked ranks and simply choose which one is displayed — in the chat prefix, anywhere LuckPerms shows a prefix. Nothing is removed, nothing is overwritten. A player who's both a 100-hour Veteran and a VIP can proudly show off either one, any time, with a single command.
/rank
That's it. A clean in-game menu opens, showing every rank they've unlocked (and, optionally, the ones they haven't yet) — one click, a confirmation prompt, done.
✨ Features
🎯 Zero permission loss, guaranteed
Switching your display rank never touches your actual permissions. RankSwitcher only ever reads what a player already has in LuckPerms and lets them pick among it — it never grants, revokes, or creates a single LuckPerms group. The one cosmetic exception (/rank assign, see below) doesn't touch LuckPerms either. The only feature that ever writes to LuckPerms is the optional auto-group for newcomers below — clearly separated, off by default, and it never touches anyone who already has a real rank.
🚪 Auto group for newcomers & a minimum rank for everyone (new, optional)
Tired of new players walking around as default? Two independent toggles in the admin panel fix that:
- Auto group for new players — anyone joining your server for the very first time is automatically placed into a LuckPerms group of your choice (e.g.
spieler) and, optionally, removed fromdefault. - Minimum rank for everyone — the bigger sibling: on every join, anyone who still has no group besides
defaultgets the group too. Switching it on even processes all currently online players immediately — nobody has to rejoin.
Both are off by default, share one target group, and come with a hard safety guarantee: any player who already holds a real LuckPerms group is never touched. Your hand-assigned ranks, staff roles, and donor tiers stay exactly as you set them.
🎁 One-off cosmetic ranks with /rank assign
Want to give one specific player a unique, one-time rank display without creating a whole LuckPerms group for it? /rank assign lets a player display a rank they don't actually own — purely visual, zero permissions granted, and it never writes anything to LuckPerms. Comes with its own narrower permission node, so you can safely wire it up to an NPC, quest reward, or shop command without handing out full admin access.
🖱️ Real in-game menu & admin panel
Built entirely on Hytale's official Custom UI system — no external dependencies, no HTML hacks. Scrollable rank list, locked/unlocked states, a proper confirmation dialog before switching, and a full admin panel: instant language switching, a one-click "reset cooldown for everyone" button, the EssentialsPlus link toggle, the two newcomer/minimum-rank toggles, and a read-only player browser with per-player block/assign controls.
🔗 Plays nicely with EssentialsPlus
If you run EssentialsPlus alongside RankSwitcher, one toggle in the admin panel keeps both plugins showing the exact same, fully colored rank prefix — no manual config duplication, no fighting over who formats the chat message. Optional PlaceholderAPI support is also built in for anything else that wants live rank data.
🎨 Full RGB color & gradient support
Every rank prefix supports classic &a-&f color codes, MiniMessage-style hex tags, and true gradients — paste text straight out of birdflop.com/resources/rgb and it just works. Bold and italic are supported too. The entire chat message layout is configurable through a single template string.
🌍 10 languages out of the box
English, German, Russian, Polish, Turkish, Brazilian Portuguese, Dutch, British English, Latin, and even Bavarian — switch instantly from the admin panel, or add your own in minutes.
🔒 Staff-only & time-limited ranks
Gate any rank behind a permission node so only your Builders or Moderators ever see it in the menu. Combine with LuckPerms' temporary groups (parent addtemp) so a purchased VIP rank automatically disappears from the menu the moment it expires — no manual cleanup needed.
⏱️ Built-in spam protection
A configurable cooldown stops players from rank-switching every two seconds for the memes — with a bypass permission for staff, and a one-click "reset for everyone" button when you need it.
📝 YAML config, zero-friction setup
Human-readable config.yml and ranks.yml are generated automatically on first launch — no rebuilding, no restarts needed for changes. /rank reload applies everything live, and every update automatically backs up your whole data folder first, just in case. A full command reference and setup notes are copied straight into the plugin's data folder as a README.md.
📦 Requirements
| Mod | Needed for |
|---|---|
| LuckPerms | Required — RankSwitcher builds directly on top of it |
| EssentialsPlus | Optional — only for the chat-linking feature |
| PlaceholderAPI - Hytale Edition | Optional — only for the PlaceholderAPI method of chat-linking |
Also set primary-group-calculation-method: stored in LuckPerms' config.yml (a two-second change — full instructions included in the plugin's own config file).
⌨️ Commands & Permissions
| Command | Permission |
|---|---|
/rank |
(everyone) |
/rank <rank> |
(everyone, only their own unlocked or assigned ranks) |
/rank reload / /rank test |
rankswitcher.reload |
/rank config |
rankswitcher.config |
/rank admin, /rank block, /rank unblock |
rankswitcher.admin |
/rank assign, /rank unassign |
rankswitcher.admin or rankswitcher.assign |
💬 Why players and owners both love it
Players get to flex what they've actually earned instead of being stuck with whatever rank happens to have the highest weight. Server owners get a plugin that respects their existing rank/permission setup instead of fighting it — RankSwitcher never creates or deletes LuckPerms groups, it only reads what's already there.
Set it up once, hand your staff the README.md that's waiting in the data folder, and you're done.
Built for Hytale's official plugin API — no unofficial UI libraries, no shortcuts. Fully open configuration, fully translatable, fully yours to customize.
Author: KaGurke Version: 1.10.21
🇩🇪 Auf Deutsch
RankSwitcher lässt Spieler zwischen allen freigeschalteten Rängen wechseln, ohne dabei jemals eine Berechtigung zu verlieren – per einfachem /rank-Menü. Zusätzlich lassen sich per /rank assign einzelnen Spielern rein kosmetische Sonderränge zuweisen, komplett ohne LuckPerms anzufassen. Neu: Zwei optionale Schalter im Admin-Panel sorgen dafür, dass niemand mehr als default herumläuft – Erstjoiner bekommen automatisch eine LuckPerms-Gruppe deiner Wahl, und auf Wunsch gilt das als Mindestrang für alle (wer schon einen echten Rang hat, wird nie angefasst). Vollständig auf Deutsch nutzbar, inklusive RGB-Farbverläufen im Chat, Staff-only-Rängen, befristeten Rängen, einem Admin-Panel mit Sprachumschaltung und Cooldown-Reset, sowie optionaler Verknüpfung mit EssentialsPlus, damit beide Plugins denselben farbigen Rang-Prefix anzeigen. Alle Details oben in Englisch.
🤝 Partner Server
Wings of Raven — 24.134.242.69:5520
Ein deutschsprachiger Hytale-Server — RankSwitcher läuft dort im produktiven Einsatz.




