Mineuniverse
Mods
ParCool Progression

ParCool Progression

MOD
ParCool Progression is an add-on for the popular parkour mod ParCool that introduces a fully dynamic, RPG-style skill tree and progression system to the game.
by u_888
Download Claim this project
1,274 downloads
0 likes
Updated Oct 14, 2026
0 hypes
Addons
Advertisement Remove ads with Premium →

🏋️ ParCool Progression

Turn ParCool into an RPG. Train your body, unlock your moves.

Nobody starts as a parkour master. With ParCool Progression, every ParCool movement is locked behind Agility and Strength levels that you earn by playing: sprinting, mining, fighting, and training on real gym equipment with its own minigame.

⚠️ Requires ParCool and GeckoLib. See Dependencies.

🚧 Not compatible with ParCool 4 yet. Please use ParCool 3.x (3.4.x) for now. ParCool 4 support is planned.


✨ Features

  • 🧬 Two skills: Strength and Agility, each with its own level and XP bar.
  • 🔒 Every ParCool move is locked behind a level. Level up to unlock Vault, Slide, Roll, Wall Jump, Wall Run and more.
  • 🎮 Three training minigames: Treadmill, Deadlift and Dumbbell.
  • 📋 Character Sheet (default key H): your levels, XP, how to train, and a roadmap of every move you will unlock.
  • 🎉 Level-up notifications with title, unlocked-move message, particles and sound.
  • 🛡️ Server authoritative with built-in anti-farm and anti-macro protection.
  • ⚙️ Highly configurable: XP rates, level cap, cooldowns, minigame difficulty, recipes and the full unlock table.
  • 🔌 Mod-friendly: fires an event on level-up for other mods and KubeJS.

📋 Character Sheet

Press H at any time to open your Character Sheet: current levels, XP progress, how each activity pays out, and a roadmap of every move you will unlock.

Character Sheet


🎬 The Training Minigames

🏃 Treadmill: Agility

Treadmill minigame

Right-click the treadmill, choose your speed (1-10) and incline (0-5), then run. Right-click when the cursor is inside the target zone: 🟩 green = +2 points, 🟨 yellow = +1 point. Reach 50 points for a perfect session, or Shift to cash out early. Higher speed and incline give up to x3 XP, but the cursor gets faster and the zone smaller. A miss fails the run.

Reward: up to 150 Agility XP per session.

🏋️ Deadlift: Strength

Deadlift minigame

Right-click the barbell, pick a weight level (1-3), then click rapidly to lift. The bar keeps dropping while you are not clicking, and heavier weights give more XP but weaker clicks. Watch out for the random "Press SPACE!" skill check, miss it and you drop the bar. Shift to leave. Built-in anti-autoclicker.

Reward: 10 / 15 / 20 Strength XP per rep at weight 1 / 2 / 3, up to 600 XP per session.

💪 Tactical Dumbbell: Strength

Dumbbell minigame

Hold it, right-click to start, then right-click again while the cursor is in the zone. Shift + Right-click cashes out your points as Strength XP, and so does switching to another item. A miss resets your score and slows you down for a moment. Your score stays on the item between workouts.

Reward: up to 50 Strength XP per workout.


📈 Other Ways to Level Up

Activity Skill Default XP
Breaking blocks (survival) Strength 1 XP per block
Melee hits on living mobs Strength 2 XP per hit
Sprinting Agility 1 XP per 10 blocks

Anti-farm cooldowns apply, and everything is configurable.


🔓 What You Unlock

Default level cap: 20. Everything is editable in the requirements file.

AgilityLevelStrengthLevel
Crawl1Climb Poles2
Vault3Hang Down4
Hide in Block5Cling to Cliff6
Slide7Wall Slide8
Dodge9Fast Swim10
Fast Run11Dive12
Quick Turn13Cat Leap15
Roll15Charge Jump17
Breakfall / Tap17Vertical Wall Run19
Wall Jump19Horizontal Wall Run20
Flipping, Sky Dive20

Creative mode players are never restricted.

🔨 Crafting

All recipes can be changed or disabled in the config.

Treadmill

Treadmill recipe

Deadlift

Deadlift recipe

Tactical Dumbbell

Dumbbell recipe

⚙️ Config: parcoolprogression-common.toml

XP rates, cooldowns, minigame difficulty, sounds, level-up effects and crafting recipes. Apply changes without restarting with /parcoolprogression reload.

["General Settings"]
    #Amount of XP required to level up Strength and Agility (multiplied by current level).
    #Range: > 1
    xpPerLevel = 100
    #Seconds a player must rest after a treadmill session before starting another (0 = no cooldown).
    #Range: 0 ~ 3600
    treadmillCooldownSeconds = 30
    #Minimum food level (0-20) required to start a treadmill session.
    #Range: 0 ~ 20
    treadmillMinFood = 6
    #Seconds a player must rest after a deadlift session before starting another (0 = no cooldown).
    #Range: 0 ~ 3600
    deadliftCooldownSeconds = 30
    #Minimum food level (0-20) required to start a deadlift session.
    #Range: 0 ~ 20
    deadliftMinFood = 6
["XP Rewards"]
    #Strength XP per block broken (survival only).
    #Range: 0 ~ 1000
    blockBreakStrengthXp = 1
    #Strength XP per melee hit on an entity (survival only).
    #Range: 0 ~ 1000
    meleeHitStrengthXp = 2
    #Anti XP-farm: minimum ticks between two block breaks that give Strength XP, per player (20 ticks = 1 second, 0 = no limit). Blocks with hardness 0 or less (grass, flowers, torches, ...) and unbreakable blocks never give XP, regardless of this value.
    #Range: 0 ~ 1200
    blockBreakCooldownTicks = 5
    #Anti XP-farm: minimum ticks between two melee hits on the SAME target that give Strength XP, per player (20 ticks = 1 second, 0 = no limit). Only living targets give XP; armor stands never do.
    #Range: 0 ~ 1200
    meleeHitCooldownTicks = 10
    #How many blocks of sprinting are needed to earn sprintAgilityXp.
    #Range: 0.5 ~ 100000.0
    sprintBlocksPerXp = 10.0
    #Agility XP granted every sprintBlocksPerXp blocks of sprinting.
    #Range: 0 ~ 1000
    sprintAgilityXp = 1
    #Multiplier on dumbbell workout score (score is 1-50) to get Strength XP.
    #Range: 0.0 ~ 1000.0
    dumbbellXpMultiplier = 1.0
    #Extra multiplier on treadmill Agility XP (on top of the speed/incline multiplier, which is up to x3).
    #Range: 0.0 ~ 1000.0
    treadmillXpMultiplier = 1.0
    #Extra multiplier on deadlift Strength XP.
    #Range: 0.0 ~ 1000.0
    deadliftXpMultiplier = 1.0
[Sounds]
    #Play sound effects in the dumbbell, treadmill and deadlift minigames.
    soundsEnabled = true
    #Master volume of the minigame sounds (0.0 - 1.0).
    #Range: 0.0 ~ 1.0
    soundVolume = 1.0
["Level Up"]
    #Show the level-up title, the unlocked-move action bar message and the particles when a skill levels up. (The PlayerSkillLevelUpEvent for other mods / KubeJS is always fired.)
    levelUpNotifications = true
    #Play the level-up sound (also needs soundsEnabled in the Sounds section; soundVolume applies).
    levelUpSoundEnabled = true
["Dumbbell Recipe"]
    #Enable the dumbbell crafting recipe.
    enabled = true
    #Amount crafted.
    #Range: 1 ~ 64
    count = 1
    #Shaped pattern rows. Pattern: 1-3 rows, all rows same length, '_' = empty slot. Keys: 'X=modid:item' or 'X=#modid:tag' (modded items and tags work). Applies on world load or /reload. Invalid recipe falls back to the default.
    pattern = ["BIB"]
    #Ingredient keys.
    keys = ["B=minecraft:iron_block", "I=minecraft:iron_ingot"]
["Treadmill Recipe"]
    #Enable the treadmill crafting recipe.
    enabled = true
    #Amount crafted.
    #Range: 1 ~ 64
    count = 1
    #Shaped pattern rows. Pattern: 1-3 rows, all rows same length, '_' = empty slot. Keys: 'X=modid:item' or 'X=#modid:tag' (modded items and tags work). Applies on world load or /reload. Invalid recipe falls back to the default.
    pattern = ["_L_", "WWW", "BRB"]
    #Ingredient keys.
    keys = ["L=minecraft:lever", "W=minecraft:black_wool", "B=minecraft:iron_block", "R=minecraft:redstone_block"]
["Deadlift Settings"]
    #Enable the deadlift crafting recipe.
    enabled = true
    #Amount crafted.
    #Range: 1 ~ 64
    count = 1
    #Shaped pattern rows. Pattern: 1-3 rows, all rows same length, '_' = empty slot. Keys: 'X=modid:item' or 'X=#modid:tag' (modded items and tags work). Applies on world load or /reload. Invalid recipe falls back to the default.
    pattern = ["BIB", "BIB", "BIB"]
    #Ingredient keys.
    keys = ["B=minecraft:iron_block", "I=minecraft:iron_ingot"]
["Deadlift Minigame"]
    #Rep progress gained per accepted left click at weight level 1 (1.0 = one full rep, 0.06 = about 17 clicks).
    #Range: 0.001 ~ 1.0
    clickGain = 0.06
    #Rep progress lost per tick while you are not clicking enough (0.004 = 0.08 per second, about 1.5 clicks per second needed just to hold still).
    #Range: 0.0 ~ 0.5
    decayPerTick = 0.004
    #Fraction each click gets weaker per weight level above 1 (0.06 = 6%).
    #Range: 0.0 ~ 0.45
    weightClickPenalty = 0.06
    #Fraction the progress decay grows per weight level above 1 (0.10 = 10%).
    #Range: 0.0 ~ 5.0
    weightDecayBonus = 0.1
    #Minimum ticks between two counted clicks (anti auto-clicker; 2 = max 10 clicks per second, 0 = no limit).
    #Range: 0 ~ 20
    clickCooldownTicks = 2
    #Base Strength XP for each completed rep (multiplied by deadliftXpMultiplier).
    #Range: 0 ~ 1000
    xpPerRep = 10
    #Extra XP multiplier per weight level above 1 (xp = base * (1 + bonus * (level - 1)); the max level gives x(1 + 2 * bonus)).
    #Range: 0.0 ~ 10.0
    weightXpBonus = 0.5
    #Food exhaustion added per completed rep (multiplied by the weight level multiplier).
    #Range: 0.0 ~ 40.0
    exhaustionPerRep = 1.0
    #Reps after which the session ends automatically (0 = unlimited; not recommended, it allows AFK farming).
    #Range: 0 ~ 1000
    maxReps = 30
    #Maximum length of one session in seconds (0 = unlimited; not recommended, it allows AFK farming).
    #Range: 0 ~ 3600
    maxDurationSeconds = 120
["Deadlift Anti-Macro"]
    #Macro detection: the server measures the time (in milliseconds) between the last 40 counted clicks. If their standard deviation is below this value the clicking is too regular for a human and the session is ended. Higher = stricter. Humans clicking at a steady pace are normally at 10 ms or more; fixed-rate auto clickers are usually under 4 ms. Values above ~8 may hit very steady human clicking. 0 = detection off.
    #Range: 0.0 ~ 1000.0
    macroMinIntervalStdDevMs = 5.0
    #Enable the random skill check: the player must press SPACE shortly after a 'Press SPACE!' prompt appears, otherwise the bar is dropped and the set ends.
    skillCheckEnabled = true
    #Shortest time in seconds between two skill checks.
    #Range: 1 ~ 3600
    skillCheckMinSeconds = 10
    #Longest time in seconds between two skill checks (if lower than skillCheckMinSeconds, the minimum is used).
    #Range: 1 ~ 3600
    skillCheckMaxSeconds = 25
    #Ticks the player has to press SPACE after the prompt (20 ticks = 1 second).
    #Range: 5 ~ 400
    skillCheckReactionTicks = 40

📋 Config: parcoolprogression-requirements.json

Set the level cap and decide which level each ParCool action needs. Set a level to 1 to remove a requirement. Actions you do not list keep their default. Invalid entries fall back to the default and are reported in latest.log.

{
  "_help": "Movement requirements. 'maxLevel' is the level cap of both skills. Each entry under 'requirements' is a ParCool action (simple class name) -> skill ('agility' or 'strength') and the level needed. Actions not listed keep their default; set level 1 to remove a requirement. 'announce': false hides the action from the level-up message. Invalid values fall back to the default (see latest.log). Apply changes with /parcoolprogression reload. Keys starting with '_' are comments.",
  "maxLevel": 20,
  "requirements": {
    "Crawl": { "skill": "agility", "level": 1 },
    "Vault": { "skill": "agility", "level": 3 },
    "HideInBlock": { "skill": "agility", "level": 5 },
    "Slide": { "skill": "agility", "level": 7 },
    "Dodge": { "skill": "agility", "level": 9 },
    "FastRun": { "skill": "agility", "level": 11 },
    "QuickTurn": { "skill": "agility", "level": 13 },
    "Roll": { "skill": "agility", "level": 15 },
    "Breakfall": { "skill": "agility", "level": 17, "announce": false },
    "BreakfallReady": { "skill": "agility", "level": 17 },
    "SafetyTap": { "skill": "agility", "level": 17, "announce": false },
    "Tap": { "skill": "agility", "level": 17 },
    "WallJump": { "skill": "agility", "level": 19 },
    "Flipping": { "skill": "agility", "level": 20 },
    "SkyDive": { "skill": "agility", "level": 20 },
    "ClimbPoles": { "skill": "strength", "level": 2 },
    "HangDown": { "skill": "strength", "level": 4 },
    "ClingToCliff": { "skill": "strength", "level": 6 },
    "WallSlide": { "skill": "strength", "level": 8 },
    "FastSwim": { "skill": "strength", "level": 10 },
    "Dive": { "skill": "strength", "level": 12 },
    "CatLeap": { "skill": "strength", "level": 15 },
    "ChargeJump": { "skill": "strength", "level": 17 },
    "VerticalWallRun": { "skill": "strength", "level": 19 },
    "HorizontalWallRun": { "skill": "strength", "level": 20 }
  }
}

🧩 Dependencies

You can also see the full list on the Dependencies page.

Required

Mod Version Needed on
Minecraft Forge 47+ (Minecraft 1.20.1) Client and server
ParCool 3.4.x (ParCool 4 is not supported yet) Client and server
GeckoLib 4.4.7+ Client and server

Optional (client only)

Everything works without these. They only make the Deadlift look better.

Mod What it adds
Player Animation Library 🎥 Third-person camera and a full lifter pose: your character bends down and pulls the bar. You also see other players lifting.
BendyLib 🦵 Natural knee bending during the lift pose (needs Player Animation Library).

Optional mods are not needed on the server. Players can mix and match: someone without them simply sees a standing lifter, and nothing breaks.


🖥️ Servers, Commands and Developers

  • Install the mod (plus ParCool and GeckoLib) on both server and clients, with the same mod version.
  • The server controls XP, levels, cooldowns and requirements. Clients automatically receive the server's level cap and unlock table when they join.
  • Levels are saved per player and survive death.

Commands (permission level 2)

CommandDescription
/parcoolprogression addxp <strength|agility> <amount>Give yourself XP
/parcoolprogression setlevel <strength|agility> <level>Set your level
/parcoolprogression reloadReload both config files and sync all players

Developers and modpack makers

PlayerSkillLevelUpEvent is fired on the Forge event bus whenever a player's Strength or Agility goes up. It works from KubeJS too:

ForgeEvents.onEvent('com.deadhorizon.parcoolprogression.event.PlayerSkillLevelUpEvent', e => {
  // e.getEntity(), e.getSkill(), e.getOldLevel(), e.getNewLevel()
})

❓ FAQ

Can I use this in a modpack?
Yes, feel free. Credit is appreciated.

Does it work with ParCool's own settings?
Yes. ParCool Progression adds a level requirement on top of ParCool's normal rules.

A player cannot do a move they should have unlocked.
Check their level in the Character Sheet (H) and compare it with parcoolprogression-requirements.json on the server.

Can I make leveling faster or slower?
Yes. Change xpPerLevel, the XP multipliers, or maxLevel.

Where do I report bugs?
Join our Discord server or leave a comment on this page. Please include your latest.log.


ParCool Progression

Made by yagizomerk

ParCoolProgression-v1.1.2-mc1.19.2.jar
MC Client, Forge, 1.19.2
Release 2026-10-07 Get
ParCoolProgression-v1.1.1-mc1.20.1.jar
MC Client, 1.20.1, Forge
Release 2026-10-03 Get
ParCoolProgression-v1.1.0-mc1.20.1.jar
MC Client, 1.20.1, Forge
Release 2026-10-01 Get
parcoolprogression-1.0.1.jar
MC Client, 1.20.1, Forge
Release 2026-08-10 Get
parcoolprogression-1.0.0.jar
MC Client, 1.20.1, Forge
Release 2026-07-24 Get

More from u_888

Advertisement Remove ads with Premium →

You Might Also Like