Skip to content
Cyrusbye720 edited this page Aug 5, 2026 · 4 revisions

DZEconomy Banner

Rank System

The DZEconomy rank system, LuckPerms integration, and rank configuration.


Overview

Ranks give players multipliers and perks based on their LuckPerms group. A rank affects how much currency a player earns from mob kills and how their transfers behave.

Key Features

  • Per-currency multipliers — Each rank can set different multipliers for Money, MobCoins, and Gems
  • Rank perks — Reduced cooldowns, increased daily limits, combat tag bypass, and interest
  • LuckPerms integration — Primary group detection with a 30-second cached lookup
  • Default rank fallback — Everyone without a matching group uses the default rank

LuckPerms Integration

Plugin LuckPerms
Required? No. Without it, everyone uses the default rank
Detection Automatic via the LuckPerms service provider

How It Works

  1. When a player earns currency, DZEconomy asks LuckPerms for their primary group.
  2. If that group matches a rank in ranks.yml, the rank's multipliers apply.
  3. If there is no match, the player falls back to default.
  4. Group lookups are cached for 30 seconds, then refreshed.

Setup

  1. Install LuckPerms.
  2. Create groups that match your ranks.
  3. Edit ranks.yml. The rank key must match the LuckPerms group name exactly. Case matters.
  4. Run /economy reload.

Multipliers

Multipliers apply to currency earnings from mob rewards.

Multiplier Effect
1.0 Normal. No bonus
1.25 25% bonus
1.5 50% bonus
2.0 Double rewards

Mob reward calculation:

base reward × (1 + boss bonus) × mob-rewards.default-multiplier × rank multiplier

The rank multiplier is looked up per currency, so a rank can boost Money without touching Gems.


Configuring ranks.yml

File Structure

rank_name:
  display-name: "&aDisplay Name"
  priority: 1
  multipliers:
    money: 1.0
    mobcoin: 1.0
    gem: 1.0
  perks:
    reduced-cooldown: false
    cooldown-reduction: 1.0
    increased-daily-limit: false
    limit-multiplier: 1.0
    bypass-combat-tag: false
    interest:
      enabled: false
      rate: 0.0
      interval: 86400
      max-balance: -1
  permissions: []

Rank Properties

Property Type Description
display-name String Friendly name with color codes
priority Integer Higher = more important
multipliers Section Per-currency reward multipliers
perks Section Special perks for this rank
permissions List Extra permissions granted while this rank is active

Perk Details

Perk Type Default Description
reduced-cooldown Boolean false Whether this rank gets shorter transfer cooldowns
cooldown-reduction Double 1.0 Cooldown multiplier. 0.5 = half the normal cooldown
increased-daily-limit Boolean false Whether this rank gets a higher daily transfer limit
limit-multiplier Double 1.0 Daily limit multiplier. 2.0 = double the normal limit
bypass-combat-tag Boolean false Bypass combat tag restrictions on economy actions
interest.enabled Boolean false Whether this rank earns interest on their balance
interest.rate Double 0.0 Interest rate per interval, as a percentage
interest.interval Integer 86400 How often interest is paid, in seconds
interest.max-balance Double -1 Highest balance that earns interest. -1 = unlimited

The Default Rank

The default rank is always present and cannot be removed. It applies to every player who does not match another rank.

default:
  display-name: "&7Default"
  priority: 0
  multipliers:
    money: 1.0
    mobcoin: 1.0
    gem: 1.0
  perks:
    reduced-cooldown: false
    cooldown-reduction: 1.0
    increased-daily-limit: false
    limit-multiplier: 1.0
    bypass-combat-tag: false
    interest:
      enabled: false
      rate: 0.0
      interval: 86400
      max-balance: -1
  permissions: []

Example: VIP Rank

vip:
  display-name: "&aVIP"
  priority: 1
  multipliers:
    money: 1.25
    mobcoin: 1.5
    gem: 1.0
  perks:
    reduced-cooldown: true
    cooldown-reduction: 0.75
    increased-daily-limit: true
    limit-multiplier: 1.5
    bypass-combat-tag: false
    interest:
      enabled: false
      rate: 0.0
      interval: 86400
      max-balance: -1
  permissions:
    - "dzeconomy.vip.chat"

Example: Premium Rank

premium:
  display-name: "&6Premium"
  priority: 2
  multipliers:
    money: 1.5
    mobcoin: 2.0
    gem: 1.5
  perks:
    reduced-cooldown: true
    cooldown-reduction: 0.5
    increased-daily-limit: true
    limit-multiplier: 2.0
    bypass-combat-tag: true
    interest:
      enabled: true
      rate: 0.1
      interval: 86400
      max-balance: 100000
  permissions:
    - "dzeconomy.premium.chat"
    - "dzeconomy.premium.join-message"

Adding Custom Ranks

Add a new section with the LuckPerms group name as the key:

mythic:
  display-name: "&d&lMythic"
  priority: 3
  multipliers:
    money: 2.0
    mobcoin: 2.5
    gem: 2.0
  perks:
    reduced-cooldown: true
    cooldown-reduction: 0.25
    increased-daily-limit: true
    limit-multiplier: 3.0
    bypass-combat-tag: true
    interest:
      enabled: true
      rate: 0.25
      interval: 43200
      max-balance: 500000
  permissions:
    - "dzeconomy.mythic.chat"
    - "dzeconomy.mythic.join-message"
    - "dzeconomy.mythic.particle"

The rank key must match the LuckPerms group name exactly. If your LuckPerms group is MythicRank, the key is MythicRank, not mythicrank.


Rank Resolution

When a player earns currency, DZEconomy resolves their rank:

  1. Ask LuckPerms for the player's primary group.
  2. Find the matching rank in ranks.yml.
  3. Apply that rank's multipliers and perks.
  4. No match found? Use default.

Group changes are picked up within the 30-second cache window. A LuckPerms data recalculate event clears the cache immediately.


Interest System

Ranks can pay interest on held balances.

How It Works

  1. Every interest.interval seconds, DZEconomy checks online players.
  2. Each player with an interest-enabled rank earns balance × (rate / 100).
  3. The interest is capped at max-balance when set.
  4. The player gets a notification.

Example Calculation

Balance Rate Interval Interest Earned
$10,000 0.1% 24h $10.00
$100,000 0.1% 24h $100.00
$200,000 0.1% (max 100K) 24h $100.00, capped

Tips

  • Keep rates between 0.05% and 0.5% to avoid inflation.
  • Set max-balance so wealthy players cannot farm interest.
  • Interest only accrues while the player is online.

PlaceholderAPI Placeholders

Placeholder Description
%dz_rank% Player's rank display name
%dz_rank_name% Player's rank internal name

See Configuration for config options and Permissions for permission nodes.


Quick Links

DZEconomy GitHub • Discord Support • Wiki Home

Developed by DemonZ Development

Clone this wiki locally