BSRUNoMobSpawn
BSRUNoMobSpawn is a lightweight Minecraft plugin that allows players to toggle monster spawning in their loaded areas, ensuring a safe and mob-free environment wherever they explore.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
BSRUNoMobSpawn
BsruNoMobSpawn 🚫👹
<b>English</b> <a href="README_TH.md">ภาษาไทย
BsruNoMobSpawn is a lightweight and efficient Minecraft Spigot/Paper plugin that allows players to control monster spawning in their loaded chunks. With this plugin, players can choose to prevent hostile mobs from spawning around them, creating a safer gameplay experience.
✨ Features
* Lightweight Performance: Each player can toggle their monster protection on or off individually. * Lightweight Performance: When enabled, no hostile monsters will spawn in any chunk that the player is currently loading (within the server's view distance), regardless of how far they travel. * Lightweight Performance: Upon enabling monster protection, all hostile mobs already present in the player's currently loaded chunks will be automatically removed. * Lightweight Performance: All plugin messages displayed to players are fully customizable via the `config.yml` file. * Lightweight Performance: Player settings are saved and loaded, ensuring your preferences remain even after server restarts or player logouts. * Lightweight Performance: * `/nomobspawn [on|off]`: Toggle monster protection for yourself. * `/bsrunomobspawn`: Displays plugin information (Name, Version, Description, Creator, GitHub). * `/bsrunomobspawn help`: Shows a list of all available commands and their usage. * `/bsrunomobspawn list`: (Admin) Lists all players who currently have monster protection enabled. * `/bsrunomobspawn reload`: (Admin) Reloads the plugin configuration from `config.yml` without needing a server restart. * Lightweight Performance: All commands support intuitive tab completion for easy use. * Lightweight Performance: Designed to be highly efficient, minimizing impact on server TPS and performance.
🚀 Installation
1. Download the latest `BsruNoMobSpawn.jar` from the GitHub Releases page (You will need to create this and upload the JAR). 2. Place the `BsruNoMobSpawn.jar` file into your Minecraft server's `plugins/` folder. 3. Restart your Minecraft server. 4. The plugin will generate a `config.yml` file in `plugins/BsruNoMobSpawn/` with default settings and messages.
🎮 Commands & Permissions
| Command | Description | Permission | | :------------------------------------ | :------------------------------------------------------------------------ | :---------------------------- | | `/nomobspawn on` | Enables monster protection for yourself. | `bsrunomobspawn.user.toggle` | | `/nomobspawn off` | Disables monster protection for yourself. | `bsrunomobspawn.user.toggle` | | `/bsrunomobspawn` (or `/bsrunomob`) | Displays core plugin information. | (No specific permission needed) | | `/bsrunomobspawn help` | Shows all plugin commands and their usage. | `bsrunomobspawn.admin` | | `/bsrunomobspawn list` | Lists players with monster protection enabled. | `bsrunomobspawn.admin` | | `/bsrunomobspawn reload` | Reloads plugin configuration from `config.yml`. | `bsrunomobspawn.admin` |
Note: By default, `bsrunomobspawn.user.toggle` is given to all players, and `bsrunomobspawn.admin` is given to server operators (`op`). You can manage these permissions using a plugin like LuckPerms.
⚙️ Configuration (`config.yml`)
The `config.yml` file allows you to customize all user-facing messages.
```yaml
BsruNoMobSpawn - Configuration File
Messages displayed in-game. You can customize them as needed.
Use & for Minecraft color codes (e.g., &a = green, &c = red).
For "mobs_removed_confirmation_global", you can use %count% to display the number of monsters removed.
messages: plugin_enabled: "&aBsruNoMobSpawn has been enabled!" plugin_disabled: "&cBsruNoMobSpawn has been disabled!" player_only_command: "&cOnly players can use this command!" no_permission: "&cYou do not have permission to use this command!" no_permission_console_admin: "You do not have permission to access this admin command from console!"
Messages for /nomobspawn command
status_current_off_global: "&eCurrent status: &cMonster spawning is OFF&e for you globally." status_current_on_global: "&eCurrent status: &aMonster spawning is ON&e for you globally." user_command_invalid_usage: "&cUsage: /nomobspawn [on|off]" toggle_on_success_global: "&aYou have enabled monster protection in your loaded areas!" toggle_on_info_global: "&eExisting monsters in your loaded areas will be removed!" toggle_off_success_global: "&cYou have disabled monster protection in your loaded areas! Monsters will spawn normally." mobs_removed_confirmation_global: "&a%count% monsters in your loaded area have been removed!" toggle_already_on: "&eYou already have monster protection enabled!" toggle_already_off: "&eYou already have monster protection disabled!"
Messages for /bsrunomobspawn (admin and info) commands
admin_command_invalid_usage: "&cUsage: /bsrunomobspawn [help|list|reload]" help_header: "&b--- BsruNoMobSpawn Help ---" help_command_user: "&a/nomobspawn [on|off] &f- Enable/disable monster protection for yourself." help_command_admin_info: "&a/bsrunomobspawn &f- Displays plugin information." help_command_admin_list: "&a/bsrunomobspawn list &f- Lists players with monster protection enabled." help_command_admin_reload: "&a/bsrunomobspawn reload &f- Reloads the plugin configuration." help_footer: "&b---------------------------"
list_no_players_enabled: "&eNo players currently have monster protection enabled." list_header: "&b--- Players with Monster Protection Enabled ---" list_players: "&aPlayers: &f%players%" list_footer: "&b----------------------------------------------"
reload_success: "&aBsruNoMobSpawn configuration reloaded successfully!" reload_success_console: "BsruNoMobSpawn config has been reloaded." ```
🤝 Contributing
Contributions are welcome! Feel free to open issues or submit pull requests on the GitHub repository.
📄 License
This project is licensed under the MIT License - see the LICENSE.md file for details. (You might want to create a LICENSE.md file too!)