Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.11
Platforms
Tags
Creators
Details
Licensed ARR
Published 15 hours ago
Updated last week
ZPP Badges is an addon for ZonePractice Pro. Players unlock badges by reaching goals, equip the ones they like from a menu, and show them next to their name. It gives your practice server long-term goals and a visible way to show off progress.
ZonePractice Pro is required. This plugin does nothing on its own.
Features
- 38 ready-made badges from "First Victory" to ranked and leaderboard titles. Edit, remove or add your own in
badges.yml. - 13 requirement types: wins, ranked wins, kills, ELO, experience, best win streak, best kill streak, matches played, days since join, event wins, FFA kills, division and leaderboard top. Combine several on one badge.
- Shown where players look: nametag, tab list, chat and sidebar. Turn each location on or off, and place the badges before or after the name.
- Equip several at once. The default limit is 3. Raise it per rank with
zppbadges.max.<n>, which is ideal for store perks. - Staff-only badges for events, winners and supporters, handed out with
/badges give. - Badge menu opens from
/badgesor from the ZonePractice Pro cosmetics menu. It shows progress toward locked badges. - Unlocks never get lost. Once a badge is earned, the player keeps it.
- PlaceholderAPI support for your own scoreboards and chat formats.
- Fully customizable text with MiniMessage in
messages.yml.


How it works
- A player plays matches, gets kills and climbs the ranks.
- Badges unlock the moment the requirements are met. The plugin checks after matches, ELO changes, kills and events, and also on a timer.
- The player opens
/badgesand equips up to their limit. - The badges appear in the nametag, tab list, chat and sidebar.
Example badge:
BADGES:
gladiator:
DISPLAY: "<gradient:#ffd700:#ff4500>⚔</gradient>"
NAME: "<gradient:#ffd700:#ff4500>Gladiator</gradient>"
DESCRIPTION:
- "<gray>Win 1000 matches."
- "<gray>Reach a 30 win streak."
ICON: NETHERITE_CHESTPLATE
REQUIREMENTS:
- TYPE: WINS
AMOUNT: 1000
- TYPE: BEST_WIN_STREAK
AMOUNT: 30

Commands and permissions
| Command | Permission | Description |
|---|---|---|
/badges (/badge) |
zppbadges.use (everyone) |
Open the badges menu |
/badges give <player> <badge> |
zppbadges.admin |
Unlock a badge |
/badges take <player> <badge> |
zppbadges.admin |
Remove a badge |
/badges reset <player> |
zppbadges.admin |
Remove all badges |
/badges list <player> |
zppbadges.admin |
List unlocked badges |
/badges reload |
zppbadges.admin |
Reload the config files |
| none | zppbadges.max.<n> |
Equip up to n badges |
Placeholders
Requires PlaceholderAPI: %zppbadges_active%, %zppbadges_count%, %zppbadges_total%, %zppbadges_active_count%, %zppbadges_max% and %zppbadges_unlocked_<id>%.
Requirements
- ZonePractice Pro 7.10.0-dev-248-03ac46f or newer
- Paper (or a fork such as Purpur) on 1.21.11 to 26.x
- Java 25
- Optional: PlaceholderAPI
Installation
- Put the jar into
plugins/next to ZonePractice Pro. - Start the server. The config files are created in
plugins/ZPPBadges/. - Edit
config.yml,badges.ymlandmessages.yml, then run/badges reload.
The Badges button appears in the ZonePractice Pro cosmetics menu. To move it, set zppbadges: <slot> under GUIS.COSMETICS.HUB.ADDON-SLOTS in ZonePractice Pro's guis.yml.
Support
Questions, bugs or ideas? Join the Discord.


