GetPerWorldPlugin
A perworldplugin management plugin enabling whitelist for a pluign to work in a specific world.....
GetPerWorldPlugin
GetPerWorldPlugin is a lightweight, high-performance Paper plugin designed to give server administrators control over where plugin commands can be used. It creates a "per-world plugin" experience by intercepting commands and checking if the player is in an allowed world, without the instability of trying to load/unload plugins dynamically.
Stop players from using economy commands in creative mode, prevent mcMMO grinding in the hub, and keep your minigame worlds clean—all with a simple whitelist configuration.
***
THE PROBLEM IT SOLVES
On servers with multiple worlds (Survival, Creative, Hub, Minigames), global plugins can cause chaos: * Chat Spam: Players selling creative items in survival shops. * Chat Spam: Leveling up skills in low-risk worlds. * Chat Spam: Players using command-heavy features in lobbies.
THE SOLUTION
GetPerWorldPlugin acts as a gatekeeper. When a player types a command: 1. It identifies which plugin owns the command. 2. It checks if that plugin is restricted in the config. 3. If restricted, it checks if the player is in an allowed world. 4. If not allowed, the command is silently blocked.
***
KEY FEATURES
* Multiverse Ready: You only list the worlds where a plugin *should* work. All other worlds are automatically blocked. * Multiverse Ready: Restricted commands are removed from the tab-complete list, making the restriction feel native. * Multiverse Ready: Caches configurations and command mappings to ensure 0.1ms overhead. * Multiverse Ready: Admins can bypass restrictions with a single permission. * Multiverse Ready: Blocks the main command and all its aliases automatically. * Multiverse Ready: Works seamlessly with Multiverse-Core and other world managers.
***
HOW TO INSTALL
1. Download the `.jar` file. 2. Place it in your server's `plugins/` folder. 3. Restart your server. 4. Configure the `config.yml`. 5. Run `/gpw reload`.
Minecraft: * Minecraft: Paper (or forks like Purpur). * Minecraft: Java 21 or higher. * Minecraft: 1.21.x +
***
CONFIGURATION
The configuration uses a simple whitelist format. If a plugin is is listed in the config, it works everywhere. If it is listed, it only works in the worlds you specify.
File: `plugins/GetPerWorldPlugin/config.yml`
```yaml plugin-restrictions: mcMMO will only work in these worlds mcMMO: - survival - survival_nether - survival_the_end
Jobs restricted to the main world Jobs: - survival
Economy plugins restricted to prevent creative exploits EssentialsX: - survival - shops
Slimefun only in the dedicated world Slimefun: - slimefun_world
blocked-message: "&c&lBlocked! &7This command is not available in this world." debug: false ```
case-sensitive Plugin names are case-sensitive. Use the exact name shown when you run `/plugins` in-game.
***
COMMANDS
* `/getperworld help` - Show the help menu. * `/getperworld reload` - Reload the configuration file. * `/getperworld list` - View all active restrictions. * `/getperworld info <plugin>` - See which worlds allow a specific plugin.
Aliases: `/gpw`, `/perworld`
***
PERMISSIONS
* `getperworld.admin` - Allows access to reload and list commands (Default: OP). * `getperworld.bypass` - Allows the player to use any command in any world, ignoring restrictions (Default: OP). * `getperworld.*` - Grants all permissions.
***
FAQ
execution of commands No. The plugin is still running in the background. This plugin only blocks the execution of commands.
Why can I still see the commands in Tab Complete? The client caches tab completions. Switch worlds or relog to update the tab list.
Does this work with Vanilla commands? No. Vanilla commands (like `/gamemode` or `/tp`) do not belong to a specific plugin and cannot be restricted by this tool. Use a permissions plugin like LuckPerms for those.
My config isn't working! Check the capitalization of the Plugin Name. `mcmmo` will not work if the plugin is actually named `mcMMO`. Use `/plugins` to check.