promotional bannermobile promotional banner

Ascend RPG Core - Stat Leveling

Ascend is a RPG core that adds leveling and future configurable mechanics
First real look at the level menu

First real look at the level menu

2026-08-15_02.17.59.png

2026-08-15_02.17.59.png

2026-08-15_00.59.30.png

2026-08-15_00.59.30.png

2026-08-15_03.49.03.png

2026-08-15_03.49.03.png

2026-08-16_20.36.21.png

2026-08-16_20.36.21.png

2026-08-16_21.09.40.png

2026-08-16_21.09.40.png

Description

An RPG progression core for Minecraft 1.20.1 (Forge).

UNTESTED WITH ATTRIBUTE FIX

Ascend rewrites vanilla attribute min/max bounds so armour and health can exceed their hardcoded caps. That is the same technique AttributeFix uses, so running both is not supported for now.


Report bugs or join for fun in the Zarra Studios Discord: https://discord.gg/PVd6GNpvtW


Why this exists

PlayerEX is a great mod with no Forge support for the most part. I don't blame them; it's a daunting and annoying task. Ascend attempts to bridge the issues people using the mod face, including myself. It's the same core idea, built for Forge, and hopefully in the future I get some time for 1.21.1 NeoForge.


The six categories

Every level grants skill points (1 by default). You spend them on the Attributes page (default keybind: K). Each point feeds a list of child stats. The stats are shipped defaults, and every single one is editable in game (see In-game editors, below).

Primary What one point gives you
Constitution +0.5 max health, +0.25 armour, +0.25 magic protection, +1 lung capacity, +0.5% poison resistance
Strength +2% attack damage, +0.01 knockback resistance, +0.5% melee crit damage, +4% mining speed
Dexterity +1% attack speed, +0.5% ranged crit damage, +2% draw speed, +2% ranged damage
Intelligence +0.5% XP gain, +0.5% wither resistance
Luck +0.5% melee crit chance, +0.5% ranged crit chance, +0.05 vanilla luck, +0.25% evasion
Focus +1% health regen, +0.2% heal amplification, +0.2% lifesteal, +0.5% freeze / lightning / fire resistance

Each attribute holds 100 points by default, and that ceiling is configurable per attribute. You could theoretically raise the Constitution category to 250 and leave the rest at 100 if that is the style or gameplay you want. Raising a cap automatically widens the attribute's own registered range, so the extra points are never silently clamped away.


The stats

These are real Minecraft attributes, so other mods, /attribute and gear modifiers all write to the same numbers Ascend reads.

Melee & ranged

Stat Effect
melee_crit_chance Chance for a melee hit to crit
melee_crit_damage Extra damage when it does
ranged_crit_chance / ranged_crit_damage The same pair for bows and crossbows
ranged_damage Multiplier on projectile damage
draw_speed Shortens bow and crossbow charge time

Defence & resistance

Stat Effect
evasion Chance to dodge a hit outright — no damage, no knockback, no hurt animation
magic_protection Reduces magic damage, 4% per point, capped at 80%
fire / freeze / lightning / poison / wither_resistance Cuts damage from that source. Poison and wither also shorten the effect itself. Negative values mean vulnerability, so these double as a debuff channel

Vigor

Stat Effect
health_regeneration Passive regeneration, in half-hearts per second
heal_amplification Scales every source of healing. This includes potions, food regeneration, everything
lifesteal Heals you for a fraction of the damage you dealt. Paid as one visible lump on the kill by default, or per-hit if you prefer
lung_capacity Extends how long you can hold your breath

Utility

Stat Effect
breaking_speed Mining speed multiplier, capped (5× by default) so a maxed build cannot instant-break obsidian
dropped_experience Your XP gain multiplier
level Your Ascend level, mirrored onto an attribute so commands, other mods and other players' clients can read it

Two ways to level

Set source.xpSource to pick one:

  • ASCEND (default) — Ascend keeps its own EXP pool, filled by kills and mining, and levels you up automatically. Vanilla experience is left completely alone, so enchanting works as normal.
  • VANILLA — no EXP pool. Levels are bought with vanilla experience levels at a price you set, using the Level Up button. Your XP bar becomes the progress bar.

How a kill is priced (ASCEND mode)

There is no per-mob EXP list to maintain. A kill is valued from the victim's own combat stats, read live at the moment it dies. The max health, attack damage, armor, toughness, knockback resistance, movement speed, plus a bonus for its enchantments. A zombie in full diamond is worth far more than a naked one, and a modded mob nobody has ever heard of is priced on exactly the same scale with zero extra config. A per-kill ceiling stops one modded 100k-health boss from handing over the level cap.

This also takes into account whether a mob is hostile, neutral, or passive. Bosses vs normal mobs scale a bit harder as well and works with modded bosses as well; the #ascend:bosses tag forces it for anything missed.

Mining does contribute too, with a default rate and a per-block override list (diamond, emerald, and ancient debris are worth more out of the box).

Who gets paid

By default EXP is split by damage dealt, not handed to whoever landed the last hit. Doing 99% of the work on a boss and losing the killing blow to a stray skeleton arrow still pays. Tamed pets credit their owner. You can optionally reserve a cut for the finisher or fold non-player damage into the split.


In-game editors or the actual point of this mod

Two full editor screens, both opened by command, both operator-gated, both saved on the server and synced to every client. No file editing, no restart, no rebuild.

/ascend config — Config editor

Every gameplay value is editable in a scrollable, categorized screen: the level curve, EXP weights, category multipliers, credit rules, per-attribute caps, death handling, and XP source.

/ascend editor — Attribute Scaling

The parent → child category to attribute table itself. Change what a point of Strength is worth, point a primary at an attribute from a completely different mod, add or delete functions, or switch a function between flat (+) and proportional (×). This is also where you arrange which stats appear under which heading on the Stats page.


Level curves

Curve Behavior
EXPONENTIAL (default) Each level costs curveGrowth times the last. Cheap early, brutal late. At the default 1.08, level 100 costs about 41k EXP and the whole climb about 550k
LINEAR Each level costs a fixed amount more than the last. Even and predictable
CUSTOM Write the expression yourself as a function of x. Standard math functions plus stairs(x, stretch, steepness, xOffset, yOffset, yLimit)

The level cap is 100 by default and configurable up to 10,000. Raising it makes the climb longer, but it does not change what any individual level costs.


Death

Fully configurable, from "lose nothing" to "lose everything":

  • resetOnDeath is a basic wipe level, EXP, points and every invested stat.
  • keepOnDeathPercent is a keep a percentage instead, for partial loss. 100 keeps everything (the default).

The interface

Press K. Three pages:

  • Attributes this is where you allocate points with + and . Allocation is a pending option; nothing is fully allocated until you press Confirm, and Clear throws it away. You can hover over an addition and get a overview on what it will actually do when you put a point into it.
  • Stats is an overview of every stat the player has, grouped together and organized on one screen.
  • Overview shows your level, cost of the next level, unspent and refundable points, total EXP earned, and your death record.

Also included:

  • A gold <Lv. N> suffix on player nameplates, which is part of the nametag.
  • Optional bonuses are appended to item tooltips, so a netherite sword reads 8 (+1.6).
  • Three themes — GOLD, SLATE, ARCTIC.
  • Interface sounds with their own volume slider, on top of the game's master volume.

By default, refunds are off. Turn allowRefund on if you would rather players change their minds freely.


Commands

All operator-only.

Command Does
/ascend level add|remove|set <players> <n> Move a player's level. add pays out skill points exactly as earning the level would
/ascend points add|remove|set <players> <n> Grant or take skill points
/ascend exp add|remove|set <players> <n> Move the EXP pool
/ascend refund <players> [attribute] Refund one attribute, or everything
/ascend reset <players> Full wipe for those players
/ascend refundall / /ascend resetall The same, server-wide
/ascend query <players> Print a player's full progression
/ascend config Open the config editor
/ascend editor Open the attribute scaling editor
/ascend editor reload Re-read the scaling table from disk

Compatibility

  • AttributeFix — untested and not supported. Both mods rewrite attribute bounds.
  • Any mod that adds attributes — supported by design. Ascend's scaling editor can point a primary at any registered attribute, and its Stats page can display any of them.

Roadmap

The goal is to keep adding to this over time:

  • Player titles, including adding your own
  • Weapon and tool leveling
  • Weapon, hand-to-hand and ranged mastery

A mod developed by Zarra Studios. Mechanics inspired by PlayerEX and Data Attributes by BareMinimumStudios.

Please report bugs to the Discord or GitHub.

Code will be open-sourced and is requestable (MIT)


Discord links Support

The Ascend RPG Core - Stat Leveling Team

HighCrafter tier frameprofile avatar
  • 76
    Followers
  • 20
    Projects
  • 5.8M
    Downloads

More from RaiiidenView all