Balance (abilities.yml)
How abilities.yml is organized, what the shared keys mean, and how to retune any ability's numbers without touching code.
Every balance number in the plugin lives in abilities.yml: cooldowns, damage, ranges, durations, and drop odds. Nothing balance-related is hardcoded, so if you think an ability is too strong or too weak, this is the only file you need. Apply changes with /ascend reload or a restart.
This page explains the file's structure rather than listing every number; the file itself is heavily commented, and each key has a short explanation right above it.
The abilities-version line at the top lets new options merge into your file on upgrades without wiping your settings. Never edit it by hand.
The scaling block
Abilities grow stronger as they level up. The scaling block controls how fast:
scaling:
cooldown-reduction-per-level: 0.10
potency-increase-per-level: 0.15
| Key | What it controls | Default |
|---|---|---|
cooldown-reduction-per-level | The cooldown shrinks by this fraction per level above 1 (0.10 means 10 percent shorter per level). | 0.10 |
potency-increase-per-level | Potency grows by this fraction per level above 1 (0.15 means 15 percent stronger per level). | 0.15 |
Level 1 is always the base value written in the file. The comments in the file mark which values "scale with level": those are things like damage, durations, and radii. A value marked as scaling gets the potency increase applied at higher levels; cooldowns always get the reduction.
The secondary block
Secondary abilities are the ones players receive at random on first join. The block starts with a shared setting, then one entry per ability:
| Key | What it controls | Default |
|---|---|---|
secondary.max-level | The highest level a secondary can reach. | 3 |
Each secondary entry (luck, leap, hydro, stealth, might) has the shared keys from the table further down, plus its own ability-specific keys. The weight key is special to secondaries: it sets the relative chance of that ability being picked on first join or on a reroll (higher means more likely).
Here is the leap entry in full, with what each line does:
leap:
enabled: true # Turn the ability off entirely with false.
display-material: RABBIT_FOOT # The item shown for this ability in menus.
weight: 1.0 # Relative first-join / reroll odds (higher = more likely).
cooldown-seconds: 120 # Base cooldown at level 1.
dash-distance: 12 # How far the dash travels, in blocks (scales with level).
dash-power-per-block: 0.15 # Converts dash distance into launch speed.
min-launch-y: 0.4 # Minimum upward kick when dashing off the ground.
slow-falling-seconds: 3 # Slow falling granted right after the dash.
fall-damage-immune: true # Passive: take no fall damage.
mace-smash-multiplier: 1.5 # Passive: multiply mace smash-attack damage by this.
mace-smash-min-fall: 1.5 # Minimum fall (blocks) for a mace hit to count as a smash.
The primary block
Primary abilities are the craftable ones (see Crafting and Custom Recipes). The block has two shared settings, then one entry per ability (blood, phase, flame, thunder, health, rotten):
| Key | What it controls | Default |
|---|---|---|
primary.max-level | The highest level a primary can reach. | 5 |
primary.drop-on-death | A hardcore option: when true, dying unbinds your primary and drops its item. | false |
The event block
Event abilities (warden, ender, wither) are rare, boss-themed powers that admins hand out for server events. They are not craftable, they occupy the primary slot while held, they never level (always full power), and they have long cooldowns. See Event Abilities for how they play.
| Key | What it controls | Default |
|---|---|---|
event.server-unique | When true, only one online player may hold each event ability at a time. | true |
Each event entry has the shared keys plus its own options. One worth knowing about: Ender's dragon-enabled flag. When true, the active summons a rideable Ender Dragon mount. When false, the active grants creative-style flight instead, which is the stable fallback if the dragon misbehaves on your server.
The acquisition block
| Key | What it controls | Default |
|---|---|---|
acquisition.assign-secondary-on-first-join | When true, a brand-new player is granted a random secondary on first join, drawn from the secondary weights. | true |
The leveling block
Kill-based leveling and its anti-farm rules:
| Key | What it controls | Default |
|---|---|---|
leveling.same-victim-max-per-window | A repeat kill on the same victim only counts this many times per window. | 2 |
leveling.same-victim-window-minutes | The length of that window, in minutes. | 60 |
leveling.totem-pop-counts-as-death | Whether a totem pop counts as a death for leveling. | false |
leveling.kill-credit-seconds | Seconds after damaging a player that you still get kill credit if they then die to the environment (void, lava, a fall). | 10 |
Keys shared by every ability
These cross-cutting keys appear in (almost) every ability entry:
| Key | What it controls | Where it appears |
|---|---|---|
enabled | Turns the ability on or off. | Every ability |
display-material | The Minecraft item shown for the ability in menus. | Every ability |
cooldown-seconds | The base cooldown at level 1. | Every ability |
weight | Relative first-join and reroll odds. | Secondaries only |
Every ability can be switched off individually by setting its enabled key to false. Nothing else needs to change.
For descriptions of what each ability actually does in game, see Abilities. If a change does not behave the way you expect, ask on Discord: discord.arrowtan.cc.