CommandWorld
ModrinthSpigotMCA plugin to seperate world chats with groups or per world, with staff chat and also command visibility and accessibility for players, with worldgroups and luckperms. Makes your server feel like a proxy
🌍 CommandWorld
Per-world command control and chat isolation for Paper, Purpur, Spigot, and Bukkit servers. Granular whitelist/blacklist rules per world, world group, and LuckPerms group — with a fully-featured staff communication suite. Built for networks, SMPs, minigame servers, and any multi-world setup.
🔍 Why CommandWorld?
Most Minecraft servers with multiple worlds suffer from the same problem — players can run any command from anywhere, chat bleeds across worlds, and staff have no clean way to communicate privately. CommandWorld solves all of it in one lean, zero-database plugin.
- 🔒 Granular command control — whitelist or blacklist any command per scope: global, world, world group, or LuckPerms group
- 🌐 World-isolated chat — players only see messages from their own world or world group
- 📢 Global chat override — prefix a message with ! to broadcast across all worlds instantly
- 👮 Staff chat — a dedicated private channel for your staff team, toggleable per session
- 🕵️ Chat spy — staff can silently monitor chat across every world at once
- ⚙️ Live config editing via commands — add/remove/list command rules without ever touching a file
- 🏅 LuckPerms integration — apply command rules directly to LP permission groups with highest priority
- 🔄 Hot reload — all changes apply live with /cw reload
🛡️ Command Control System
Block or allow any command anywhere on your server, down to the individual player rank.
🎯 Scope Priority (Highest → Lowest)
- LuckPerms Group — per-rank rules (e.g. admin, mod, vip, default)
- World Group — shared rules across linked worlds (e.g. survival, lobby, minigame)
- Individual World — override rules for a specific world
- Global Default — fallback rules applied everywhere else
✅ Whitelist / Blacklist Modes
- Whitelist — only listed commands are allowed and visible
- Blacklist — all commands are allowed except listed ones
- Each scope has its own independent mode, configurable at any time
🔕 Tab-Complete Suppression
- Command rules apply to both execution and tab-complete separately
- Players in restricted worlds won't even see blocked commands when pressing Tab
🚫 Default-Deny by Default
- Out of the box, the default LuckPerms group is set to whitelist with an empty list — players can use zero commands until you open them up
- Admins are set to blacklist with an empty list — full access to everything by default
💬 Chat System
Per-world chat isolation, cooldowns, filtered words, join/leave messages, and full MiniMessage formatting.
🌏 World-Isolated Chat
- Players only receive messages from their own world or world group
- Configurable join/leave messages scoped to each world group
- Optional chat clear on world switch
📢 Global Chat
- Any player can prefix a message with ! to send it across all worlds
- Requires the commandworld.globalchat permission (toggled on/off per server)
- Fully configurable format with MiniMessage support
⏱️ Chat Cooldowns
- Per-world-group cooldown in seconds (e.g. Survival: 2s, Lobby: 1s, Minigame: off)
- Custom cooldown message with %remaining% placeholder
🚫 Word Filter
- Server-wide blocked words list (case-insensitive)
- Custom blocked word message
🎨 Chat Formatting
- Full MiniMessage colour and style support
- Placeholders: %player%, %message%, %world%, %prefix%, %suffix%
- Per-world-group format — each zone has its own chat style
👮 Staff Tools
💬 Staff Chat (/staffchat, /sc)
- Toggle staff-only chat mode — all messages go to staff instead of public chat
- Or send a one-off staff message without toggling
- Optional sound on receipt
- Requires commandworld.staff to receive, commandworld.staffchat to send
🕵️ Chat Spy (/chatspy)
- Monitor all world chats simultaneously in real time
- Configurable whether spy includes staff chat, global chat, or the spy's own context
- Optional sound on receipt
- Requires commandworld.chatspy
🔌 Dependencies
Required
- Paper, Purpur, Spigot, or Bukkit 1.21 or a compatible fork
Recommended
- LuckPerms — for per-group command rule tiers
- Multiverse-Core — for world group detection and routing
⚙️ Configuration
100% configurable. World groups, command rules, chat formats, cooldowns, staff tools, and all messages live in config.yml.
world-groups:
survival:
- world
- world_nether
- world_the_end
lobby:
- lobby
minigame:
- minigame1
- minigame2
groups:
admin:
mode: blacklist
execution: []
tab-complete: []
mod:
mode: blacklist
execution:
- /stop
- /op
default:
mode: whitelist
execution: []
tab-complete: []
chat:
enabled: true
format:
survival: '
cooldown:
survival: 2
lobby: 1
🎨 What You Can Customize
- 🌍 World groups — link any worlds to share command rules and chat
- 🔒 Per-scope command rules — whitelist/blacklist independently for global, world, world group, and LP group
- 💬 Chat formats — full MiniMessage per world group, with prefix/suffix support
- ⏱️ Chat cooldowns — per world group
- 🚫 Word filter — global blocked words list
- 📢 Global/staff/spy chat — formats, sounds, and permission gates
- 📣 Join/leave messages — scoped per world group
📋 Commands
/cw reload — Reload all config (commandworld.reload)
/cw global <add|remove|list|mode> ... — Manage global command rules (commandworld.admin)
/cw world
/cw worldgroup
/cw group
/staffchat [message] — Toggle or send to staff chat (commandworld.staffchat)
/chatspy — Toggle chat spy mode (commandworld.chatspy)
Aliases: /commandworld · /cworld · /sc
🔐 Permissions
commandworld.admin op Full admin access — reload + manage all rules
commandworld.reload op Reload config via /cw reload
commandworld.staff op Receive staff chat messages
commandworld.staffchat op Use /staffchat
commandworld.chatspy op Use /chatspy
commandworld.bypass op Bypass all command restrictions entirely
commandworld.globalchat true Use the ! global chat prefix
🛠️ Installation
- Ensure you're running Paper, Purpur, Spigot, or Bukkit 1.21 or a compatible fork
- (Recommended) Install LuckPerms for group-based command rules
- (Recommended) Install Multiverse-Core for world management
- Drop CommandWorld.jar into your /plugins/ folder
- Start or restart your server
- Edit plugins/CommandWorld/config.yml to define your world groups and rules
- Use /cw reload to apply any changes
🎯 Perfect For
- 🌲 Survival/SMP servers — isolate commands and chat per world, stop lobby commands bleeding into survival
- 🏙️ Network-style single-server setups — run lobby, survival, and minigames on one server with full isolation
- ⚔️ Minigame servers — lock players to only the commands they need in each game world
- 👥 Roleplay / RPG servers — keep immersion with world-scoped chat and restricted commands per zone
- 🛡️ Staff-heavy servers — give your team a private staff channel and full chat visibility with spy mode
Built for Paper, Purpur, Spigot, and Bukkit 1.21 · Recommends LuckPerms · Recommends Multiverse-Core · MiniMessage supported throughout

Comments 0
No comments yet. Be the first to share your thoughts.