Language

CommandWorld

CommandWorld

ModrinthSpigotMC

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

35 downloads updated 2mo ago
latest v1.0.0 Modrinth
Bukkit Paper Purpur Spigot 1.21 – 1.21.11 Game-mechanicsManagementSocial

🌍 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
  • 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: '[Survival] %prefix%%player%%suffix%<dark_gray>: %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 <add|remove|list|mode> ... — Manage rules for a specific world (commandworld.admin)
/cw worldgroup <add|remove|list|mode> ... — Manage rules for a world group (commandworld.admin)
/cw group <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

Versions

Release
1.0.0
bukkit, paper, purpur · 1.21, 1.21.1, 1.21.2 · 2mo ago
# 🌍 CommandWorld > **Per-world command control and chat isolation for Paper, Purpur, Spigot, and Bukkit servers.** Granular whitelist/blacklist rules per…
35

Comments 0

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

Download CommandWorld

SpigotMC

Files are served directly from the original source. Modgrid does not host or modify them.