Tags
Creators
Details
1.0.0
Compatibility
Required content
Changes
๐ 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: '<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
- 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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:rImHdWZ8:ldCVdvg0"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:rImHdWZ8:ldCVdvg0"
}

