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.
BSRUNoMobSpawn
BsruNoMobSpawn 🚫👹
<div align="center">
</div>
<p align= "center"> <b>English</b> <a href="README_TH.md">ภาษาไทย</a>
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!)