Skip to content

Cosmetic Ranks, Drops, and Levels

Quick Start: Monetize your server.

How unlocking works

A cosmetic is unlocked for you when any of these is true:

  1. The plugin saved it for you. Drops, level rewards, and the admin command all save it in the plugin database. This always wins.
  2. You hold its .owner permission: jmanhunt.cosmetics.<group>.<sub>.<name>.owner. This also always wins, with nothing saved. This is the plain permission unlock.
  3. A rank you hold includes it (see below).
  4. You hold jmanhunt.admin, which unlocks everything.

  5. The plain permission without .owner (jmanhunt.cosmetics.<group>.<sub>.<name>) never unlocks anything by itself: it only marks that cosmetic as one you are allowed to win, so drops, level rewards, and /manhunt cosmetics unlock may give it to you.

  6. If a permission is taken away again (set to false), the rank and admin paths stop working for that cosmetic, but anything saved in the database and any .owner permission keep working. So an explicit unlock survives any permission taken away above it.

The six ranks

Ranks are permission groups, not real ranks: the names are fixed, and each one lists cosmetic names plus an optional all-of-rarity (a number from 0 for Common to 4 for MYTHIC, -1 turns it off).

Rank Permission Unlocks
default jmanhunt.cosmetics.rank.default 10 starter looks (one per group)
manhunter jmanhunt.cosmetics.rank.manhunter 21 more commons
manhunt-plus jmanhunt.cosmetics.rank.manhunt-plus Every common plus 5 uncommons
manhunt-pro jmanhunt.cosmetics.rank.manhunt-pro Every uncommon and below plus 8 rares
manhunt-ultra jmanhunt.cosmetics.rank.manhunt-ultra Every rare and below plus 8 epics
manhunt-max jmanhunt.cosmetics.rank.manhunt-max Every epic and below plus 14 MYTHICs

manhunt-max unlocks 122 of the 125 shipped looks. Three MYTHICs stay win-only chase items: the Dragon Breath lobby aura, Judgment Bolt (final kill), and Dragon King (celebration).

Quick Start: Ranks with LuckPerms (5 minutes)

  1. Everyone already holds the default rank (it defaults to true). To be explicit: lp group default permission set jmanhunt.cosmetics.rank.default true
  2. Sell or award the ladder, one group at a time: lp group vip permission set jmanhunt.cosmetics.rank.manhunt-plus true
  3. Let a group win a single chase item, without unlocking it: lp group vip permission set jmanhunt.cosmetics.highlights.celebration.dragon-king true
  4. Or unlock one look outright for a player: lp user Notch permission set jmanhunt.cosmetics.lobby.aura.dragon-breath.owner true
  5. Drop someone down the ladder without touching anything else: set their rank permission to false (...rank.manhunt-plus false); anything saved for them in the database stays unlocked.

Rank changes apply right away: the menu, the command, and drops all read your current permissions on every check.

Quick Start: Tuning Match Drops (5 minutes)

plugins/JManhunt/advanced/match-drops.yml runs drops, XP, and payouts. The interesting knobs:

drops:
  kill-chance: 0.05
  elimination-chance: 0.15
  win-chance: 0.5
  playtime-minutes: 10
  steps: 1500
  min-broadcast-rarity: 2
  broadcast-audience: "SAME_MATCH"
  auto-equip: "NONE"
  • Kills, eliminations, and wins roll their chance for a drop; playtime and distance award one each time their goal fills up. The playtime and distance drops need at least 2 players in the match, a match older than 3 minutes, and stop while the player stands still for 30 seconds; each player gets at most 3 of them per match.
  • min-broadcast-rarity (0 to 4, Rare by default) and broadcast-audience (EVERYONE, SAME_LOBBY, SAME_MATCH, SELF, NONE) shape who hears about a drop. The finder always hears their own sound (uncommon and up by default); everyone else hears it for rare drops and up.
  • A drop for something you already own draws once more from the same rarity, then turns into Vault money per rarity, or bonus XP when Vault or an economy plugin is missing.
  • auto-equip (NONE, IF_HAS_NONE, ALWAYS) puts fresh drops straight on, and does the same for level-reward looks.

Experience levels and match drops

  • Everyone starts at level 1; 100 XP buys level 2, and the curve (first-level-xp times your level to the growth power, 1.35 by default) prices the rest.
  • Your match score turns into XP at the end of every match (rounded to a multiple of 5, times score-multiplier), plus flat XP for kills, eliminations, wins, and active minutes.
  • XP is a whole number, saved per player in the plugin database, and stops at the level cap (100, or -1 for no cap).
  • Level-ups message the player and, every 5th level by default, announce to the server. level-rewards runs console commands ({player} fills in the name) and hands out named looks at exact levels; rewards for looks you already own draw again (ANY_RARITY, SAME_RARITY, or NONE).
  • Big amounts show shortened to 3 digits with your language's number style (1,090 in English, 1.090 in German and Spanish) plus the XP ending.

For now levels unlock looks and pay out doubles; more level rewards are planned.