Repository navigation
Ranks

The DZEconomy rank system, LuckPerms integration, and rank configuration.
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.
- 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
defaultrank
| Plugin | LuckPerms |
| Required? | No. Without it, everyone uses the default rank |
| Detection | Automatic via the LuckPerms service provider |
- When a player earns currency, DZEconomy asks LuckPerms for their primary group.
- If that group matches a rank in
ranks.yml, the rank's multipliers apply. - If there is no match, the player falls back to
default. - Group lookups are cached for 30 seconds, then refreshed.
- Install LuckPerms.
- Create groups that match your ranks.
- Edit
ranks.yml. The rank key must match the LuckPerms group name exactly. Case matters. - Run
/economy reload.
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.
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: []| 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 | 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 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: []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"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"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.
When a player earns currency, DZEconomy resolves their rank:
- Ask LuckPerms for the player's primary group.
- Find the matching rank in
ranks.yml. - Apply that rank's multipliers and perks.
- 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.
Ranks can pay interest on held balances.
- Every
interest.intervalseconds, DZEconomy checks online players. - Each player with an interest-enabled rank earns
balance × (rate / 100). - The interest is capped at
max-balancewhen set. - The player gets a notification.
| 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 |
- Keep rates between 0.05% and 0.5% to avoid inflation.
- Set
max-balanceso wealthy players cannot farm interest. - Interest only accrues while the player is online.
| 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.
DZEconomy GitHub • Discord Support • Wiki Home
Developed by DemonZ Development