
Commands++ | Next-Level Command Management Plugin
Java mod listed for Minecraft 1.16–26.x. Downloads from the MC Java Mods app on Android.
Adds an extensive list of heavily customizable and programmable commands and features to modern minecraft servers.
I don't know my version or loader



Commands++
The modern essentials replacement for Minecraft servers. One YAML file controls every utility — homes, warps, teleport requests, vanish, jail, mute, mail, kits, economy, chat formatting — toggleable per-module on Paper, Folia, and Purpur.
What is Commands++
A single primitive — modules — runs every feature on the server. Each module is a self-contained feature with its own commands, listeners, config section, and data files. Toggle a module in config.yml, hot-flip it with /cmds enable|disable <module>, or /cmds reload to apply edits. No restart, no listener leaks, no half-Adventure half-legacy output.
23 modules ship by default. 124 commands. Drop the jar in, set your Discord invite, /cmds reload, done.
Why server owners pick it
- One toggle per feature. Don't want homes?
modules.homes.enabled: false. Don't want chat formatting? Turn off the module. Most plugins force everything on. - Cross-cutting enforcement. Mute blocks chat and
/msg,/r,/me,/mail. Jail blocks every teleport command (and re-checks at TPA delay execute). Vanish hides from/players,/lastseen,/whois,/getpos, join/quit broadcasts, and lastseen updates. Most plugins half-implement this. - Reload-safe.
/cmds reloadactually unregisters listeners. Most plugins quietly leak handlers and double-fire events after reload. - Folia-native. Region scheduler, async scheduler, entity scheduler — used appropriately throughout.
teleportAsynceverywhere. No legacyBukkit.getScheduler()anywhere. - MiniMessage everywhere. Gradients, hover, click, rainbow. Legacy
&-codes still work — auto-detected. Zero MiniMessage knowledge required to start. - Audit-logged. Every admin action targeting another player appends to
audit.logwith timestamp + actor + target. Most essentials plugins have nothing equivalent. - Plug-and-play. Ships with branded gradient prefix, working defaults, animated rainbow welcome title, and a Discord CTA wired through
/support, the welcome message, and/cmds version. Useful on boot with zero edits.
Modules — one primitive for everything
modules:
homes:
enabled: true
default_max_homes: 3
default_home_name: home
teleport:
enabled: true
request_timeout_seconds: 60
teleport_delay_seconds: 3
cancel_on_movement: true
cancel_on_damage: true
randomtp:
enabled: true
cooldown_seconds: 60
max_attempts: 12
worlds:
world: { center_x: 0, center_z: 0, radius: 5000, min_y: 64, max_y: 256 }
economy:
enabled: true
confirm_threshold: 1000.0 # /pay above this requires /payconfirm
chat:
enabled: true
format: "<prefix><white><displayname></white><suffix> <dark_gray>»</dark_gray> <message>"
luckperms_prefix: true
Every module has the same shape: enabled plus its own keys. New defaults from plugin upgrades merge in without overwriting your edits.
Toggle at runtime
| Command | Effect |
|---|---|
/cmds modules |
List every module + its current state |
/cmds enable <module> |
Turn it on, run its onEnable immediately |
/cmds disable <module> |
Turn it off, unregister its listeners + cancel its tasks |
/cmds reload |
Re-read config + messages, re-enable modules |
/cmds update |
Manual Modrinth check |
Cross-cutting enforcement
Where Commands++ goes deeper than per-command Essentials checks.
Mute — blocks chat, /msg, /r, /me, /mail send. Every text path checks PlayerStatus.isMuted from a single helper, so adding a new command picks up muting for free.
Jail — blocks /spawn, /home, /warp, /tpa, /tpahere, /back, /randomtp, /jumpto, /top, /tphere, /tppos, /world. The TPA delay re-checks at execute time, so jailing during the countdown actually stops the teleport.
Vanish — hides from /players, /list, /lastseen, /whois, /getpos, /near. Suppresses join/quit broadcasts. Skips lastseen.yml updates on quit. Cancels item pickups + entity targeting. Persists through rejoins.
AFK — auto-detected from movement and chat. Optional auto-kick after configurable idle. [AFK] tag prepends to the chat that breaks the idle, not the next one.
Visual presets
Per-permission gradient styles for chat AND nicknames. Players run /chatcolor list or /nick list to see a click-to-apply gallery.
modules:
chat:
permission_styles:
- { name: rainbow, permission: commandsplus.chat.style.rainbow, style: "<rainbow><message></rainbow>" }
- { name: fire, permission: commandsplus.chat.style.fire, style: "<gradient:#ff5555:#ffaa00:#ffff55><message></gradient>" }
- { name: vip_gold, permission: commandsplus.chat.style.vip_gold, style: "<bold><gradient:#ffd700:#fff8a0><message></gradient></bold>" }
- { name: mvp_diamond, permission: commandsplus.chat.style.mvp_diamond, style: "<bold><gradient:#00ffff:#00aaff:#a855f7><message></gradient></bold>" }
playerstate:
nick_max_length: 16
nick_presets:
- { name: rainbow, permission: commandsplus.nick.preset.rainbow, style: "<rainbow><message></rainbow>" }
- { name: ocean, permission: commandsplus.nick.preset.ocean, style: "<gradient:#0088ff:#00ffff><message></gradient>" }
13 chat presets and 13 matching nick presets ship enabled. Add your own — it's just a YAML row.
Branding in two lines
prefix: "<bold><gradient:#00ffd5:#00aaff:#a855f7>[Commands++]</gradient></bold> <gray>"
support:
discord_invite: "https://discord.gg/your-invite"
discord_label: "discord.gg/your-invite"
show_in_welcome: true
The Discord propagates everywhere — /support command, welcome message CTA, /cmds version, broadcast messages that reference %discord%. One field, every surface.
Need a custom prefix? Replace the MiniMessage above with &8[&bMyServer&8] &7 and the parser falls back to legacy codes.
Commands
124 across 23 modules.
| Module | Commands |
|---|---|
| Teleport | /tpa /tpahere /tpaccept /tpdeny /tpcancel /tptoggle /tphere /tpall /tppos /tp /back /jumpto /top |
| Homes / Warps / Spawn | /home /sethome /delhome /homes /warp /setwarp /delwarp /warps /spawn /setspawn /randomtp |
| Communication | /msg /r /ignore /unignore /msgtoggle /socialspy /realname /me /mail /helpop |
| Player state | /heal /feed /fly /god /afk /nick /speed /clearinventory /whois /near /getpos /exp /suicide /ext |
| Gamemode | /gmc /gms /gma /gmsp /gamemode |
| Inventory | /enderchest /workbench /anvil /repair /more /skull /i /give /trash /enchant /condense /hat /recipe /invsee |
| Moderation | /mute /unmute /jail /unjail /setjail /jails /kick /ban /unban /tempban /banhistory /freeze /sudo /clearchat |
| Vanish | /vanish /vanishlist |
| Kits | /kit /kits |
| World | /world /worlds /time /weather /sun /rain /thunder /pweather /ptime |
| Staff | /staff add|remove|info|list|roles |
| Economy (Vault) | /pay /payconfirm /balance /baltop /eco |
| Admin | /burn /lightning /firework /info |
| Chat / Nick | /chatcolor (list / preset / reset), /nick (list / preset / set / clear) |
| Plugin | /cmds reload|modules|enable|disable|version|update |
Run /help for a paginated, click-to-suggest in-game menu. /cmds help for the admin equivalent.
Permissions
Single hierarchy: commandsplus.<module>.<command>[.other|.bypass|.list|.see]. Defaults match intent.
| Node | Default | Grants |
|---|---|---|
commandsplus.admin |
op |
Wildcard — every operator-level node, including all gradient presets |
commandsplus.<utility> |
true |
/home, /spawn, /msg, /help, /randomtp, etc. |
commandsplus.<admin> |
op |
/heal, /mute, /jail, /vanish, /sudo, etc. |
commandsplus.<command>.other |
op |
Target another player |
commandsplus.<command>.bypass |
op |
Skip cooldown / restriction |
commandsplus.homes.limit.<n> |
false |
Tiered home cap — grant commandsplus.homes.limit.10 for ten homes |
commandsplus.chat.style.<name> |
false |
Per-preset chat gradient |
commandsplus.nick.preset.<name> |
false |
Per-preset nickname gradient |
Grant commandsplus.admin to your staff LuckPerms group — every operator command works, every gradient preset unlocks.
Integrations
Every integration is a soft-depend. Commands++ runs cleanly with all of them missing.
| Plugin | Used for |
|---|---|
| PlaceholderAPI | commandsplus_* placeholders — homes count, AFK, vanish, mute / jail remaining, mail unread, ping, uptime |
| Vault + economy provider | /pay, /balance, /baltop, /eco, /payconfirm |
| LuckPerms | Chat-format prefix + suffix injection, group-aware permissions |
Update notifier
Async Modrinth poll on enable + every 6 hours. When a newer release is detected:
- Console banner with installed → latest version + download URL
- Clickable in-game banner sent to anyone with
commandsplus.update.notifyon join + every 30 minutes /cmds updatefor a manual check
All cadences and the slug live under modules.update.*.
Platform support
| Platform | Support | Notes |
|---|---|---|
| Paper 1.21+ | ✅ Full | Native Adventure |
| Folia | ✅ Full | Region-aware throughout, teleportAsync everywhere |
| Purpur 1.21+ | ✅ Full | |
| Spigot 1.21+ | ⚠ Limited |
Java 21+ required.
Install
- Download the jar from the Versions page.
- Drop it into your server's
plugins/folder. - Start the server.
config.ymlandmessages.ymlgenerate with sane defaults. - Open
config.yml, setsupport.discord_invite:to your community link. /cmds reload.
Optional: install LuckPerms for chat prefix integration, PlaceholderAPI for the placeholder set.
Links
- Discord — discord.gg/aJqqs2hYQJ
- MiniMessage docs — docs.advntr.dev/minimessage/format.html
- Hex color picker — htmlcolorcodes.com/color-picker
- Companion plugin — Broadcast++ for full-featured server announcements
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.16.1, 1.16.2
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Modrinth — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
- Ships as CommandsPlus-2.0.0.jar — drop this file into the mods folder
- Download size: 394 KB
- Download link checked 17 Oct 2026 — working
These come from our own check of the pack file, not from the source page.