Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.11
Platforms
Tags
Creators
Details
Licensed ARR
Published 2 days ago
Updated 2 weeks ago
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.


