CommandWorld

A 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

10

CommandWorld

🌍 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)

1. LuckPerms Group — per-rank rules (e.g. admin, mod, vip, default) 2. World Group — shared rules across linked worlds (e.g. survival, lobby, minigame) 3. Individual World — override rules for a specific world 4. 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: '<gray>[<green>Survival</green>] <white>%prefix%%player%%suffix%<dark_gray>: <white>%message%' 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 <n> <add|remove|list|mode> ... — Manage rules for a specific world (commandworld.admin) /cw worldgroup <n> <add|remove|list|mode> ... — Manage rules for a world group (commandworld.admin) /cw group <lpGroup> <add|remove|list|mode> ... — Manage rules for a LuckPerms group (commandworld.admin) /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

1. Ensure you're running Paper, Purpur, Spigot, or Bukkit 1.21 or a compatible fork 2. (Recommended) Install LuckPerms for group-based command rules 3. (Recommended) Install Multiverse-Core for world management 4. Drop CommandWorld.jar into your /plugins/ folder 5. Start or restart your server 6. Edit plugins/CommandWorld/config.yml to define your world groups and rules 7. 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

ADS