MobRoyale is a custom Minecraft (Spigot/Paper) plugin that tracks mob kills, manages sessions and leaderboards, spawns waves of mobs, and provides a configurable chest loot system with random rarity tiers.
- Features
- Requirements
- Configuration Files Setup
- Building and Packaging
- Installation and Deployment
- Usage
- Troubleshooting
- License
- Mob Kill Tracking: Earn points for killing mobs with configurable point values.
- Session and Leaderboard Management: Track and display scores on a leaderboard.
- Wave Spawner: Spawn mobs in waves with configurable settings.
- Lobby System: Manage game start, stop, and player lobby with equipment setup.
- Chest Loot System: Randomly fill chests with loot based on weighted rarity tiers.
- Commands: Several commands including
/leaderboard,/startgame,/startwaves,/reloadloot,/resetleaderboard, etc.
- Java Development Kit (JDK)
- Maven
- A Spigot or Paper Minecraft server (version 1.21.4+ recommended)
- (Optional) EssentialsX, Multiverse, and any other dependencies if required by your server setup
Your plugin uses several configuration files. When the plugin is first run, default versions are generated in the plugin's data folder. You may customize these files as needed.
Contains general plugin settings such as the tracked world for mob kills. Example entry:
tracked-world: worldConfigures mob spawn settings, loot tables for mobs, and wave spawner settings.
Configures the chest loot system:
- chest.world: The world where loot chests reside (e.g., "PVE").
- chest.tier-chances: Weighted chance values for tiers (common, uncommon, rare, legendary).
- chest.tiers: For each tier, define a fixed loot list along with
min-items,max-items, and loot details.
Example:
chest:
world: PVE
tier-chances:
common: 50
uncommon: 30
rare: 15
legendary: 5
tiers:
common:
min-items: 1
max-items: 2
loot:
- item: diamond_sword
weight: 5
amount: 1
enchantments:
sharpness: 3
- item: splash_potion{Potion:healing1}
weight: 10
amount: 1
# Additional tiers...Configure the lobby system (world, spawn locations, equipment, excluded players).
This project uses Maven for compilation and packaging.
-
Clone the Repository:
-
Compile the Plugin:
Run the following Maven command to compile your code:mvn clean compile
-
Package the Plugin:
To create the jar file, run:mvn clean package
The jar file will be generated in the
target/folder (for example,cozycraftpve-1.0-SNAPSHOT.jar). -
Installation:
Copy the generated jar file into your Minecraft server’splugins/directory.
-
Place the Jar:
Copycozycraftpve-1.0-SNAPSHOT.jar(or the built jar) to your server’splugins/folder. -
Configure:
Start your server once to generate default config files. Then, editconfig.yml,config_spawn.yml,config_chest.yml, and (if applicable)config_lobby.ymlas needed. -
Restart the Server:
Restart your server to load the updated configuration.
-
Mob Kill Tracking:
Kills in the configured tracked world earn points. Use/checkkillsto view your score. -
Sessions and Leaderboard:
Use/startsession <name>,/viewsession <name>,/listsessions, and/leaderboardto manage and view leaderboards.
Use/resetleaderboardto reset the scores. -
Wave Spawner:
Use/startwavesand/stopwavesto control mob waves. -
Lobby System:
Use/startgameto send players to the lobby and/stopgameto reset the lobby. -
Chest Loot System:
Chests in the designated chest world with the custom name"chest_loot"will be filled with loot when reloaded. Use/reloadlootand/reloadchestconfigto update chest loot.
- Empty Chests:
Ensure that your chests in the specified world have the custom name"chest_loot"and that the chunks are loaded. - Configuration Issues:
Verify that your config files are correctly formatted and that loot entries are valid. - Scoreboard Not Updating:
Check that no conflicting plugins override the scoreboard API.
This project is licensed under the MIT License.