MasterLeaderboard is a plugin for Minecraft (
1.20.6 → 1.21.x) that tracks MythicMobs mob kills for each player, creates customizable leaderboards, and assigns automatic rewards via console commands. It requires MythicMobs and PlaceholderAPI to be installed on the server.
General Settings — settings language — language of all plugin messages. Use it for Italian or en for English.
storage — data storage system. Use yaml for local files or mysql for a database.
cache-update-seconds — how often (in seconds) the internal cache of player placeholders updates. Lower values mean more frequent updates but higher server load.
reset-confirm-timeout-seconds — how many seconds an operator has to confirm a reset with /mlb reset confirm before it expires automatically.
MySQL Database — mysql Active only if storage: mysql. Contains connection credentials.
host — MySQL server address, usually localhost
port — database port, usually 3306
database — name of the database where the plugin will store tables
username — database username
password — database password
Single Mobs — single-mobs Define individual mobs you want to track. The key name must exactly match the internal MythicMobs mob name.
<MobName>.display-name — name shown in messages, leaderboards, and /mlb stats. It does not need to match the internal name; you can customize it freely.
Mob Groups — mob-groups Groups multiple MythicMobs together. Kills from all mobs in the group are summed into a single counter.
<GroupName>.display-name — display name of the group in messages and leaderboards
<GroupName>.mobs — list of MythicMobs internal mob names included in the group. Each kill of these mobs is added to the group counter.
Leaderboards — leaderboards Each entry under leaderboards is an independent leaderboard with its own id, update interval, and type.
<id>.display-name — display name shown when using /mlb top
<id>.type — leaderboard type: mob (single mob), group (mob group), all (all MythicMobs combined)
<id>.target — mob or group name to track. Leave empty if type is all
<id>.top-size — number of positions shown
<id>.update-interval-seconds — update interval in seconds. Minimum 1 for real-time updates. Large datasets should update less frequently.
Single Mob Milestones — milestones.mobs Automatic rewards tied to kills of a single mob. Each mob can have multiple thresholds, each with its own mode and commands.
<MobName> — internal mob name
threshold — number of kills required to trigger the reward
mode — execution mode:
once: runs commands only once when the exact threshold is reached
repeat: runs commands every time total kills are a multiple of the threshold (e.g. 10, 20, 30...)
commands — list of console commands executed when triggered. Supports variables:
%player% — player name
%mob% — mob internal name
%group% — group name (empty for mob milestones)
%kills% — player’s current kill count
Group Milestones — milestones.groups Works exactly like milestones.mobs, but thresholds are based on the combined kills of all mobs in the group.
<GroupName> — group name
threshold — total group kills required
mode — once or repeat
commands — same as above, but %group% contains the group name
Placeholders — placeholders not-in-top — text returned when a player is not in a leaderboard. Default -
zero-value — text returned when a kill value is zero. Default 0
date-format — date format used by lastkill placeholder (Java format, e.g. dd/MM/yyyy HH:mm)
never-killed — text shown if the player has never killed that mob. Default Never
Messages — messages All plugin messages are customizable. Two sections exist: messages.it (Italian) and messages.en (English). The plugin uses the one matching settings.language.
prefix — prefix before all plugin messages
reload-success — shown after successful reload
reload-fail — shown if reload fails
no-permission — shown when permission is missing
only-players — shown when a console command requires a player
leaderboard-not-found — leaderboard id not found
mob-not-found — mob not found in single-mobs
group-not-found — group not found
player-not-found — player never joined the server
reset-confirm — asks for confirmation after a reset command
reset-confirm-no-pending — no pending reset to confirm
reset-expired — reset timeout expired
reset-player-mob — confirm reset of a player’s mob kills
reset-player-group — confirm reset of a player’s group kills
reset-player-all — confirm full reset of a player
reset-mob-all — confirm reset of all players for a mob
reset-group-all — confirm reset of all players for a group
reset-all — confirm full reset of all data
usage-top — incorrect /mlb top usage
usage-kills — incorrect /mlb kills usage
usage-reset — incorrect /mlb reset usage
usage-stats — incorrect /mlb stats usage
kills-header — header for /mlb kills (%player%, %target%)
kills-count — kill count line (%value%)
no-players — shown when leaderboard is empty
leaderboard-footer — footer (%interval%)
stats-header — stats top separator
stats-title — stats title (%player%)
stats-total — total kills line (%total%)
stats-mob-line — per-mob stats (%mob%, %kills%, %today%, %last%)
stats-footer — stats bottom separator
stats-no-kills — shown if player has no kills
milestone-reached — broadcast when milestone is reached (%player%, %target%, %kills%)
Available Placeholders %masterleaderboard_kills_<MobName>% — total kills for a specific mob
%masterleaderboard_kills_group_<GroupName>% — total group kills
%masterleaderboard_kills_all% — total kills across all MythicMobs
%masterleaderboard_kills_today_<MobName>% — today’s kills (resets at midnight)
%masterleaderboard_lastkill_<MobName>% — last kill date/time
%masterleaderboard_top_<id>_<position>_player% — player name at position
%masterleaderboard_top_<id>_<position>_value% — kill count at position
%masterleaderboard_rank_<id>% — player’s rank (or not-in-top)
Commands Main command: /mlb
Aliases: /masterleaderboard, /mleaderboard
/mlb top <id> [page] — show configured leaderboard
/mlb top mob <MobName> [page] — quick leaderboard for a mob
/mlb top group <GroupName> [page] — quick leaderboard for a group
/mlb kills <mob|group:<g>|all> — show your kills
/mlb stats <PlayerName> — full player stats
/mlb reset mob <MobName> [player <n>] — reset mob kills
/mlb reset group <GroupName> [player <n>] — reset group kills
/mlb reset all [player <n>] — full reset
/mlb reset confirm — confirm pending reset
/mlb reload — reload config
/mlb refresh [id] — force leaderboard update
Permissions masterleaderboard.top — access to /mlb top (default: everyone)
masterleaderboard.kills — access to /mlb kills (default: everyone)
masterleaderboard.stats — access to /mlb stats (default: everyone)
masterleaderboard.reload — reload/refresh (op only)
masterleaderboard.reset — reset commands (op only)
masterleaderboard.admin — all admin permissions
Storage With yaml, 5 files are created:
data.yml — total kills
names.yml — player names
today.yml — daily kills
lastkill.yml — last kills
milestones.yml — completed milestones (prevents duplicates)
With mysql, all required tables are automatically created on first startup.