⚡ParkourProWiki
Spigot · Paper · Minecraft 1.8 → 26.x

Build parkour courses players keep coming back to.

ParkourPro is a checkpoint-based parkour engine with live timers, checkpoint splits, leaderboard holograms, ghost replays, races, seasons, anti-cheat, MySQL sync, 23 languages and a Discord bot. This wiki covers both the free Lite edition and the premium Pro edition.

1.8 – 26.xMinecraft versions
23Bundled languages
90+Subcommands (Pro)
v1.1.0Current release
🏁

Pressure-plate courses

Gold plates start and finish a run, iron plates are checkpoints. No schematics, no region tools: walk the course and place plates.

⏱

Live timer

Elapsed time and checkpoint progress in the action bar, title, boss bar or XP bar, with optional time limits and penalties.

🏆

Leaderboard holograms

Per-parkour top lists that refresh on a schedule and instantly after a new record, a deleted time or a set time.

🛡

Anti-cheat & fallback

Fly and teleport detection, fall-back to checkpoint by Y level or block drop, death handling and command blocking.

🗄

MySQL or YAML

Records live in MySQL for networks or in a local file. Switching between Pro and Lite migrates records automatically.

💬

Discord & PlaceholderAPI

Slash-command leaderboards in Discord (Pro) and %parkour_…% placeholders for scoreboards and tab lists.

01Pro vs Lite

Lite is free and covers everything a single server needs to run great parkour courses. Pro adds the tools larger servers and networks ask for. Use the switch in the top bar to filter this whole wiki to one edition.

FeatureLite (free)Pro (premium)
Start, end, reset and checkpoint plates✓✓
Creation wizard with guided steps✓✓
Live timer (action bar, title, boss bar)✓✓ + XP bar
Holograms for start, end, checkpoints and leaderboard✓✓
Records in MySQL or local YAML✓✓
deletetime / settime record management✓✓
Anti-cheat (fly, teleport), Y-level fallback, death handling✓✓
End commands, first-completion rewards✓✓
Required permission / required completed parkour✓✓
PlaceholderAPI expansion, LuckPerms prefixes, 23 languages✓✓
Checkpoint splits, statistics, top / pb commands, cooldowns, leave radius, per-parkour sounds and titles, export / import, Discord webhook✓✓
Ghost replay of the fastest run—✓
Race mode with countdown and winner tracking—✓
Daily / weekly / monthly leaderboards and seasons with rewards—✓
Parkour menu, rewards by time and rank, checkpoint effects, speed check, network sync, web API—✓
Item frame map boards (leaderboard posters on maps)—✓
Update checker with admin notification✓✓
Finish without triggering the end plate (proximity finish)—✓
Time limits with penalty and offline-penalty commands—✓
Fall-blocks fallback (drop N blocks from highest point)—✓
Special pressure plates: jump / levitation / build plates—✓
Medals (gold / silver / bronze) with reward commands—✓
Hide other players, dynamic hologram visibility, testing mode—✓
Required checkpoints, delete / move checkpoints—✓
Hologram display styling (background, opacity, scale, billboard)—✓
Player heads on modern leaderboards (1.21.10+)—✓
WorldGuard region restriction, ItemsAdder icons—✓
Discord bot with /scoreboard slash command—✓
/parkour join, stats, leaderboard, list, /leave—✓

02Installation

One jar, no hard dependencies. Everything else is optional and detected automatically.

  1. Drop the jar in plugins/

    Use ParkourPro-1.1.0.jar or ParkourProLite-1.1.0.jar. Never run both editions at the same time.

  2. Restart the server

    The plugin writes config.yml, parkours.yml, records.yml and a languages/ folder with all 23 translations.

  3. Pick a language and storage

    Set language in config.yml (for example nl_NL). Enable mysql if you run a network, otherwise records stay in records.yml.

  4. Optional add-ons

    LuckPerms (rank prefixes on holograms), PlaceholderAPI (placeholders), WorldGuard (region restriction), ItemsAdder (custom icons in the timer), and for Pro a Discord bot token.

  5. Apply changes with /parkour reload

    Reloads config, parkours, holograms and languages without a restart. New message keys are added to existing language files automatically.

Upgrading? Replace the old jar with the new one and restart. All existing configurations and records stay compatible. Switching between Pro and Lite copies records.yml from the other edition's folder on first start.

Requirements

ComponentSupported
Server softwareSpigot, Paper and forks (Purpur, Pufferfish…)
Minecraft1.8 through 26.x. Legacy versions use armor-stand holograms, modern versions can use text displays.
JavaJava 8 bytecode. Runs on Java 8, 11, 17, 21 and 25.
Soft dependenciesLuckPerms, PlaceholderAPI, ItemsAdder, ProtocolLib, DecentHolograms, WorldGuard, WorldEdit

03Your first parkour

A course is three kinds of pressure plates. Look at a plate while running each command.

🟨

Gold plate = start

Light weighted pressure plate. Stepping on it starts the run and the timer.

🟨

Gold plate = end

A second gold plate finishes the run and saves the time.

⬜

Iron plates = checkpoints

Heavy weighted pressure plates, added in order. Players must activate them in sequence and teleport back to the last one they reached.

  1. Set the start

    Look at a gold plate and run:

    /parkour setstart sky
  2. Set the end

    Look at the finish gold plate:

    /parkour setend sky
  3. Add checkpoints

    Look at each iron plate in course order. Repeat for every checkpoint. Checkpoints are optional.

    /parkour addcheckpoint sky
  4. Set the reset location

    Stand where players should land after /parkour reset or a fall without checkpoints:

    /parkour setreset sky
  5. Add a leaderboard

    Look at a block where the top list should float:

    /parkour addleaderboard sky
    /parkour setleaderboardsize sky 10
  6. Protect the course from falls

    Teleport players back when they drop below Y 60:

    /parkour setfallback y sky 60
    /parkour togglefallback sky
Tip. Prefer a guided flow? The creation wizard walks you through start, end and checkpoints with validation at every step.

04Creation wizard

The wizard validates every step, prevents duplicate checkpoints and creates the holograms for you.

/parkour wizard <name> start     # begin
/parkour wizard <name> cancel    # discard and exit
StepWhat to doItem
1 · StartStand on a gold plate and confirm.Oak button (confirm)
2 · EndStand on a different gold plate and confirm.Oak button (confirm)
3 · CheckpointsStand on each iron plate in order and add it. Zero checkpoints is allowed.Iron ingot (add) · Emerald (done)
AnyCancel the wizard.Redstone

Your inventory is stored and restored when the wizard finishes or is cancelled. Afterwards you can still run /parkour setreset, add holograms or change any option.

05Commands

Root command /parkour with aliases /pk and /par. Admin commands need parkour.admin. Angle brackets are required, square brackets are optional.

Course setup

/parkour setstart <name>

Sets the start plate to the gold plate you are looking at. Creates the parkour if it does not exist yet.

Pro + Lite
/parkour setend <name>

Sets the finish plate (gold plate you are looking at).

Pro + Lite
/parkour setreset <name>

Sets the reset location to where you are standing. Used by /parkour reset, falls without checkpoints and (by default) leaving.

Pro + Lite
/parkour setleaveposition <name>

Where players are teleported when they leave or run out of time. Falls back to the reset location when unset.

Pro + Lite
/parkour addcheckpoint <name>

Adds the iron plate you are looking at as the next checkpoint.

Pro + Lite
/parkour deletecheckpoint <parkour> <number>

Removes checkpoint number and renumbers the rest.

Pro
/parkour movecheckpoint <parkour> <number>

Moves an existing checkpoint to the iron plate you are looking at.

Pro
/parkour setrequiredcheckpoints <parkour> <number|-1>

How many checkpoints a player must reach before the end plate counts. -1 means all of them.

Pro
/parkour create <name>

Creates an empty parkour you can fill in later.

Pro
/parkour wizard <name> [start|cancel]

Guided creation flow. See Creation wizard.

Pro + Lite
/parkour export <parkour>

Writes the parkour to exports/<name>.yml with all settings, holograms and relative coordinates.

Pro + LiteNew in 1.0.9
/parkour import <file> [newName]

Look at the gold plate that becomes the new start. Every location is shifted relative to it, so a course can move to another world or server.

Pro + LiteNew in 1.0.9
/parkour delete <name>

Deletes the parkour, its holograms and all of its records. Players inside are kicked out of the run.

Pro + Lite

Rules & behaviour

/parkour togglefinishproximity <parkour> [radius]

Finish when the player reaches the end-plate area, without having to trigger the plate (jumping over it, sneaking). Radius 0.5 to 10 blocks, default 1. Passing a radius enables the option.

ProNew in 1.0.8
/parkour togglefinishredirect <name>

Teleport players back to the start plate after finishing.

Pro
/parkour setleaveradius <parkour> <blocks|0>

Cancels the run when the player is further than this many blocks from every plate of the course. 0 disables.

Pro + LiteNew in 1.0.9
/parkour setcooldown <parkour> <seconds|0>

Players must wait this long after finishing before starting the same parkour again.

Pro + LiteNew in 1.0.9
/parkour setmaxattempts <parkour> <perDay|0>

Maximum number of starts per player per day.

Pro + LiteNew in 1.0.9
/parkour setsound <parkour> <start|checkpoint|finish|reset|teleport-back> <SOUND|none|default>

Per-parkour sound override. Tab completion lists every sound of your server version.

Pro + LiteNew in 1.0.9
/parkour settitle <parkour> <start|finish> <title|subtitle> <text|none>

Title shown when a run starts or finishes. Placeholders %player%, %parkour%, %time%.

Pro + LiteNew in 1.0.9
/parkour setcheckpointeffect <parkour> <checkpoint#> <title|subtitle|sound|particle|command|clear> [value]

Title, sound, particle burst or console command when a checkpoint is reached. command none clears the commands.

ProNew in 1.0.9
/parkour addtimereward <parkour> <mm:ss.ms> <command>

Console command for every finish under the time. removetimereward <parkour> <time|all> removes.

ProNew in 1.0.9
/parkour addtopreward <parkour> <position> <command>

Runs when a new personal best lands on that leaderboard position. addrecordreward <parkour> <command> fires on any new personal best. /parkour rewards <parkour> lists all rewards.

ProNew in 1.0.9
/parkour toggleleaveredirect <name>

Teleport players to the start when they leave, instead of the reset or leave position.

Pro + Lite
/parkour togglefallback <name>

Enables the fallback rule for this parkour (see setfallback).

Pro + Lite
/parkour setfallback y <name> <Y>

Teleport the player to their last checkpoint when they drop below this Y level.

Lite
/parkour setfallback <y|blocks> <name> <value>

y: fall back below a Y level. blocks: fall back after dropping this many blocks from the highest point since the last checkpoint.

Pro
/parkour toggledeath <name>

Treat dying like a fall: the player continues at their checkpoint.

Pro + Lite
/parkour toggledeathrespawn <name>

Respawn inside the course after death instead of at the world spawn.

Pro + Lite
/parkour toggleitems <parkour> <true|false>

Whether players get the hotbar items (teleport, reset, cancel) for this parkour.

Pro + Lite
/parkour togglelocks [true|false]

Global switch for parkour locks (required permission / required completion).

Pro + Lite
/parkour setrequiredpermission <parkour> <permission|none>

Only players with this permission can start the parkour.

Pro + Lite
/parkour setrequiredcompletion <parkour> <required-parkour|none>

Players must have finished another parkour first. Great for progression maps.

Pro + Lite
/parkour settimelimit <parkour> <seconds>

Players must finish within this time. 0 disables. Requires a leave position on the parkour.

Pro
/parkour addpenalty <parkour> <command>

Console command run when the time limit expires. Use %player%. Remove with removepenalty <parkour> [command].

Pro
/parkour addofflinepenalty <parkour> <command>

Console command run when a player disconnects mid-run. setpenaltyoffline [parkour] <command> sets the default, removeofflinepenalty removes one.

Pro
/parkour addendcommand <parkour> <command>

Console command run on every finish. Remove with removeendcommand <parkour>.

Pro + Lite
/parkour addfirstreward <parkour> <command>

Console command run once, on a player's first ever completion. Remove with removefirstreward <parkour> [command].

Pro
/parkour setfirstreward <parkour> <command>

Console command run once, on a player's first ever completion. Remove with removefirstreward <parkour>.

Lite
/parkour togglehideplayers <parkour>

Hide other runners in the same parkour (body, tab list and/or chat, configurable).

Pro
/parkour testmode <parkour> <enabled|disabled>

While enabled, first-completion rewards are not paid out. Use it while building and testing.

Pro
/parkour togglemedals <parkour>

Starts a medal calibration run. Finish the course, then confirmmedals <parkour> <yes|no> to save gold/silver/bronze thresholds.

Pro
/parkour addeffectplate <parkour> <jump|levitation>

Turns the plate you look at into a special plate that applies the effect. removespecialplate <parkour> removes it.

Pro
/parkour addbuildplate <parkour> <block> [x,y,z …]

A plate that temporarily places blocks at the given offsets (default from config), removed after a delay.

Pro

Holograms

/parkour sethologram <name> <start|end|checkpoint|leaderboard> <text>

Sets hologram text. Separate lines with |. For a checkpoint: sethologram <name> checkpoint <#> <text>. Colour codes and hex colours are supported.

Pro + Lite
/parkour addleaderboard <name>

Creates (or moves) the leaderboard hologram at the block you are looking at.

Pro + Lite
/parkour setleaderboardsize <name> <size>

Number of entries shown on the leaderboard hologram.

Pro + Lite
/parkour movehologram <parkour> <start|end|leaderboard|checkpoint[:#]>

Moves a hologram to the block you are looking at.

Pro + Lite
/parkour removehologram <parkour> <all|start|end|leaderboard|checkpoint[:#]>

Hides a hologram. Re-enable it with sethologram or addleaderboard.

Pro + Lite
/parkour sethologramdisplay <parkour> <all|start|end|checkpoint[:N]|leaderboard> <property> <value>

Styling on text-display holograms (Paper 1.19.4+): background (hex or transparent), opacity 0–255, seethrough, billboard (center, fixed, vertical, horizontal), scale.

Pro
/parkour addperiodleaderboard <parkour> <daily|weekly|monthly>

Daily, weekly or monthly leaderboard hologram at the block you look at. removeperiodleaderboard removes it.

ProNew in 1.0.9
/parkour mapboard <add <parkour> [alltime|daily|weekly|monthly] [WxH] | remove [parkour] | list | refresh>

Leaderboard poster on maps in a grid of item frames: header, podium with player heads, ranked rows, footer. Look at the top-left frame on a wall and run add; missing frames are placed automatically. Colours and texts under map-boards.

ProNew in 1.1.0
/parkour toggledynamichologram <parkour>

Each player only sees the hologram that matters for their progress (next checkpoint, then the finish).

Pro

Records

/parkour deletetime <parkour> <player>

Wipes a player's record, for example a cheater. Works for offline players and with MySQL. The leaderboard hologram refreshes instantly.

Pro + LiteNew in 1.0.8
/parkour settime <parkour> <player> <mm:ss.ms>

Sets or overwrites a player's record, even when slower than their current one. The leaderboard hologram refreshes instantly. See time format.

Pro + LiteNew in 1.0.8
/parkour top <parkour> [daily|weekly|monthly] [page]

Leaderboard in chat, ten per page, with your own rank at the bottom. Periods are Pro.

Pro + LiteNew in 1.0.9
/parkour pb <parkour> [player]

Best time, rank, checkpoint splits of the best run, attempts, completions and play time.

Pro + LiteNew in 1.0.9
/parkour season <info|list|new [name] confirm>

Ends the season: pays the configured rewards to the top players of every parkour, archives every record and starts with empty leaderboards.

ProNew in 1.0.9
/parkour stats <parkour> [player]

Shows a player's best time and rank on a parkour.

Pro
/parkour leaderboard <parkour>

Prints the top list in chat.

Pro

Player commands

/parkour checkpoint

Teleport to your last checkpoint.

Pro + Lite
/parkour undocheckpoint

Go back one checkpoint.

Pro + Lite
/parkour reset

Restart the run from the reset location. The timer restarts.

Pro + Lite
/parkour cancel

Abort the run and leave the course.

Pro + Lite
/parkour leave

Leave the parkour. Pro also registers a plain /leave.

Pro + Lite
/parkour menu

Inventory with every parkour, your best time, rank and attempts. Click to teleport to the start.

ProNew in 1.0.9
/parkour ghost <parkour> [play|loop|stop|delete]

Replays the fastest run as a ghost with the record holder's head. Recorded automatically on every new fastest time.

ProNew in 1.0.9
/parkour race <create <parkour>|join <host>|start|leave|cancel>

Create a race, let others join, start the countdown. Everyone is frozen on the start plate until GO; the first over the finish wins.

ProNew in 1.0.9
/parkour join <parkour>

Teleport to the start of a parkour.

Pro
/parkour list

Lists all parkours.

Pro
/parkour language <code>

Switches the server language, for example nl_NL.

Pro

Admin

/parkour version

Shows the installed version and checks the ParkourPro website for a newer release. Admins are also told on join when an update is available.

Pro + LiteNew in 1.1.0
/parkour reload

Reloads config, parkours, holograms, timer display and languages, and re-registers Discord commands.

Pro + Lite

06Records & leaderboards

A record is one best time per player per parkour. Only faster runs replace it, unless an admin overrides it with settime.

Where records are stored

  • Local: plugins/ParkourPro/records.yml (or the Lite folder). Always written, even with MySQL on, so you keep a local copy.
  • MySQL: table <prefix>records with one row per player and parkour. Shared across a network, all queries run off the main thread.
  • Leaderboards read from MySQL first and fall back to the local file.

Managing records

/parkour deletetime sky Notch           # wipe Notch's time on "sky"
/parkour settime sky Notch 01:23.456  # set Notch's time to 1 min 23.456 s

Player lookup works for offline players: the plugin checks online players, then stored records on that parkour, then records on any parkour, then the server's player data. After both commands the leaderboard hologram is redrawn immediately and PlaceholderAPI values refresh within five seconds.

Time format for settime

InputMeaning
01:23.4561 minute, 23 seconds, 456 ms
1:23.41 minute, 23.4 seconds (fraction 1–3 digits)
83.5 or 45Seconds only
1:01:23.456Hours, minutes, seconds
01:23,456Comma decimal is accepted
1:60.000 · abc · 0Rejected with an "invalid time" message

07Holograms

Every parkour can show a start, end, per-checkpoint and leaderboard hologram. Default text comes from config.yml; per-parkour text from sethologram.

Renderers

  • Legacy (1.8 – 1.19): invisible armor stands, one per line. Rock solid on every server.
  • Modern (1.19.4+ Paper): text displays with background, opacity, scale and billboard settings via sethologramdisplay.
  • HologramLib renderer (Pro, 1.20+): enable holograms.modern-renderer.enabled for packet-based holograms and player heads on leaderboard rows (heads render on 1.21.10+).

Leaderboard text

holograms:
  text:
    leaderboard:
      header:
        - "&e&lLeaderboard"
        - "&7Update every &e%update-interval%&7 %update-unit%"
      entry-format: "%pos% &8» %prefix%%player% &8- &e%time%"
      position-colors: { 1: "&6&l", 2: "&7&l", 3: "&c&l", default: "&e&l" }
      no-record-player: "Unknown"
      no-record-time: "--:--"
PlaceholderUsed inMeaning
%parkour%headerParkour name
%update-interval% %update-unit%headerRefresh cadence, localized (e.g. "1 minute")
%pos%entryPosition with its colour, e.g. &6&l#1
%prefix%entryLuckPerms prefix when show-prefix is on
%player% %time%entryName and formatted time
%best_time%start hologramFastest recorded time on this parkour
%checkpoint%checkpoint hologramCheckpoint number
<head:%player%>entry (Pro, modern)Player head before the row on 1.21.10+, stripped on older versions

Offsets and visibility

start-offset, end-offset, checkpoint-offset and leaderboard-offset raise the hologram above its plate. line-spacing sets the gap between lines. visibility-range hides holograms beyond that many blocks (0 = always visible). The leaderboard refreshes every update-interval seconds and immediately after a record change.

08Configuration

Everything lives in config.yml. Change it, then run /parkour reload.

KeyDefaultWhat it does
languageen_USAny of the 23 bundled language codes. Files live in languages/ and can be edited.
mysql.enabled …falseHost, port, database, username, password and table-prefix.
sounds.*vanilla soundsSounds for checkpoint, start, finish, reset and teleport-back. Empty string disables one.
permissions.use-permissionstrueSet to false to let everyone use admin commands (not recommended). permissions.admin renames the node.
locks.enabledtrueGlobal switch for required permission / required completion.
checkpoints.sequentialtrueCheckpoints only count in order (1, 2, 3 …). Set to false to let a later checkpoint also count the earlier ones.
anti-cheat.detect-flytrueFlying players are reset to their checkpoint.
anti-cheat.detect-teleportfalseCancels teleports and blocks player /tp during a run. Keep off when command blocks teleport players in your course. teleport-threshold is the max distance per move.
timer-display.typeactionbaractionbar, title, bossbar, xpbar or disabled. format uses %time% and %checkpoints%; format-with-limit adds %timelimit% and %remaining%.
bed-confirmationon, 1000 msPlayers must double-click the bed item to cancel a run.
fallback.y-enabled / default-yfalse / 65Global Y-level fallback for all parkours. teleport-target: reset or checkpoint.
fallback.blocks-enabled / default-blocksfalse / 10Global fall-blocks rule (drop N blocks from the highest point since the last checkpoint).
death.global-enabled / respawn-to-checkpointtrue / trueHandle deaths in any parkour and respawn at the last checkpoint.
leave.teleport-toresetstart, reset or none.
holograms.*enabledSee Holograms.
default-first-reward-commandsemptyCommands every new parkour runs on a player's first completion. %player% supported.
default-timelimit0Seconds for new parkours; 0 disables.
items.hotbar.*plate, door, bedMaterial, name, slot, click type and lore of the teleport, reset and cancel items. inventory-mode chooses between clearing the whole inventory or only slots-to-clear.
update-checker.*trueChecks the website for a newer release on startup and every interval-hours; notify-admins tells admins on join.
map-boards.*3x4Default size, header, tag, title, footer, show-heads and every colour of the item frame boards.
discord-webhook.*falseWebhook URL, username, which events to post (new record, first completion, season end) and their message templates. Works without a bot.
anti-cheat.detect-speedfalseSpeed check with max-horizontal-speed (blocks per movement packet) and speed-strikes.
mysql.sync-interval10Seconds between checks for records from other servers. 0 disables.
ghost.*enabledauto-play-on-start, show-player-skin, name-format, max-samples.
race.*2–16 playersMin/max players, countdown, timeout, sounds and winner-commands.
seasons.*top 3reward-positions, per-position rewards commands and broadcast.
web-api.*falseBind address, port and optional token.
holograms.text.period-leaderboard.*defaultsHeader lines and labels for the daily / weekly / monthly holograms.
broadcast.recordfalseAnnounce new records to the server or the world.
features.restart-on-same-startfalseStepping on your own start plate mid-run restarts the timer instead of showing "already in parkour".
features.hide-players.*all falseWhat togglehideplayers hides: body, tab entry and/or chat.
features.default-dynamic-hologram-visibilityfalseDefault for new parkours.
worldguard.enabled / regionsfalsePlates only work inside the listed WorldGuard region IDs.
special-pressure-plates.*enabledEffect amplifiers and durations, build-plate delay and default block offsets.
medals.*falseDefault thresholds (ms), per-course thresholds and reward commands per medal.
default-penaltyoffline-commandsemptyCommands run when a player disconnects mid-run (new parkours).
itemsadder-supporttrueCopies bundled ItemsAdder font images (timer and checkpoint icons).
discord.*falseSee Discord bot.

Per-parkour data

Everything set with commands is stored in parkours.yml: locations, checkpoints, hologram text, toggles such as finish-redirect, fallback-y, time-limit, proximity-finish and proximity-finish-radius. You can edit it by hand and reload, but commands are safer.

09Placeholders

With PlaceholderAPI installed, the parkour expansion registers automatically. Use auto as the parkour name when you only have one parkour.

PlaceholderResult
%parkour_top_<parkour>_<1-10>_player%Player name at that leaderboard position, --- when empty
%parkour_top_<parkour>_<1-10>_time%Time at that position, --:-- when empty
%parkour_personal_<parkour>_time%The viewing player's best time
%parkour_personal_<parkour>_rank%The viewing player's rank
%parkour_count%Number of parkours
%parkour_top_<parkour>_<1-10>_prefix%LuckPerms prefix of the player at that position
%parkour_current% · %parkour_current_time% · %parkour_current_checkpoint% · %parkour_current_checkpoints%The viewer's running parkour, live time, current checkpoint and checkpoint count
%parkour_attempts_<parkour>% · %parkour_completions_<parkour>% · %parkour_playtime_<parkour>% · %parkour_racewins_<parkour>%The viewer's statistics on that parkour
# Example scoreboard lines
- "&6#1 &f%parkour_top_sky_1_player% &7- &e%parkour_top_sky_1_time%"
- "&bYou: &f%parkour_personal_sky_time% &7(#%parkour_personal_sky_rank%)"

Message placeholders

Inside language files and hologram text: %player%, %parkour%, %time%, %checkpoint%, %completed%/%total%, %record%, %status%, %radius%. Colour codes use &, hex colours use #RRGGBB, an empty string disables a message.

10Permissions

NodeDefaultGrants
parkour.adminopAll setup, rules, hologram, record and reload commands. Rename it with permissions.admin.
parkour.useeveryoneRunning parkours and player commands.
parkour.race · parkour.ghost · parkour.menueveryoneRaces, ghost replays and the parkour menu.
custom—Any node you set with setrequiredpermission is checked before a run starts.

11Gameplay & anti-cheat

Hotbar items

When a run starts the player's inventory is stored and replaced by three items: a plate to teleport to the last checkpoint, a door to reset, and a bed to cancel (double-click). The inventory is restored on finish, cancel or leave. Dropping or moving the items is blocked.

Checkpoints in order 1.0.8

Checkpoints must be activated in sequence. Stepping on checkpoint 3 while checkpoint 2 was never reached does nothing except a "you skipped a checkpoint" message, so finishing always means every checkpoint was really touched. Pro can lower the number required with setrequiredcheckpoints, still counted in order. Legacy behaviour is available with checkpoints.sequential: false.

Checkpoint splits 1.0.9

Every checkpoint shows the elapsed time and the difference with your own record, green when you are ahead and red when behind. Splits are stored with the record and listed by /parkour pb.

Statistics 1.0.9

Attempts, completions, play time and race wins per player and parkour, in stats.yml and MySQL. Shown by pb, the menu, placeholders and the web API.

Cooldown, daily limit and leave radius 1.0.9

Per parkour: a cooldown between finishes, a maximum number of starts per day, and a radius around the plates outside of which the run is cancelled.

Timer

Shows elapsed time and checkpoints reached. /parkour reset restarts it; with restart-on-same-start stepping on the start plate again does too.

Fly and teleport detection

Flying players return to their checkpoint. With detect-teleport on, teleports and /tp are blocked during a run. Plugin teleports (checkpoint, reset) are always allowed.

Fallback

A Y-level fallback per parkour or globally. Pro adds the fall-blocks rule: drop more than N blocks from your highest point since the last checkpoint and you are sent back, which works on courses at any height.

Death

Deaths can keep players in the run and respawn them at their checkpoint or the start, per parkour or globally.

Locks and progression

Require a permission or a previously finished parkour before a player may start. Toggle all locks at once with togglelocks.

Rewards

End commands run on every finish, first-completion rewards run once per player, and new records can be broadcast to the server or world.

12Pro features Pro

Proximity finish 1.0.8

Enable togglefinishproximity and the run ends as soon as the player is within the radius of the end plate, even when the plate is never pressed. Ideal for courses that end with a jump onto the finish, or for players who sneak. Required checkpoints, records, rewards and redirects behave exactly as with the plate.

Item frame map boards 1.1.0

A leaderboard poster rendered onto maps in a grid of item frames, like a wall-mounted screen: your server name in the header, a podium with the top three heads, ranked rows and a footer. Hang the top-left frame, look at it and run /parkour mapboard add <parkour> [period] [WxH]. Boards refresh with the leaderboards and instantly after record changes. Rendering uses a built-in pixel font, so it works on headless servers and on 1.8 through modern versions.

Ghost replay 1.0.9

Every run is sampled about twenty times per second. When a run becomes the fastest time on a parkour it is saved to ghosts/<parkour>.yml. /parkour ghost replays it in real time as an armor stand with the player's head, optionally looping or starting automatically with every run.

Race mode 1.0.9

A host creates a race, players join, a countdown with titles freezes everyone on the start plate and all runs start on GO. Positions are announced, the winner gets the configured commands and a race win in the statistics.

Daily, weekly and monthly leaderboards 1.0.9

Every finish updates the best time for the current day, ISO week and month. Show them in chat, as extra holograms per parkour, or through the API. Old periods are pruned automatically.

Seasons 1.0.9

Closing a season pays the rewards in seasons.rewards to the top players of every parkour, archives all records to records_archive.yml or the archive table, and resets the leaderboards. The change is broadcast and posted to the Discord webhook.

Rewards by time and rank 1.0.9

Commands for finishing under a time (every run), for landing on a leaderboard position and for any new personal best, with %player%, %parkour%, %time% and %pos%.

Speed check 1.0.9

Resets players that move faster than max-horizontal-speed blocks per movement packet for speed-strikes packets in a row. Speed potions raise the limit. Off by default; tune it per server.

Network sync 1.0.9

With a shared MySQL database, mysql.sync-interval polls for records set on other servers and refreshes the affected leaderboard holograms right away.

Web API 1.0.9

Read-only JSON on its own port: parkours, leaderboards per period, a player's records and statistics, and the season state. Protect it with a bearer token.

Time limits and penalties

settimelimit puts a countdown in the timer. When it expires the player is sent to the leave position and penalty commands run. Offline-penalty commands run when a player disconnects mid-run, so leaving to dodge a penalty does not work.

Special pressure plates

Effect plates give a jump boost or levitation. Build plates place temporary blocks at configurable offsets and remove them again, for bridges that appear as you run.

Medals

Run togglemedals, complete the course yourself as the calibration run, confirm, and gold, silver and bronze thresholds are derived from it. Reward commands per medal fire when a player earns or improves a medal.

Hide players and dynamic holograms

Hide other runners' bodies, tab entries or chat inside the same parkour. Dynamic hologram visibility shows each player only the hologram for their next target.

Checkpoint management

Delete or move checkpoints without rebuilding the course, and require only a subset of checkpoints to finish.

Testing mode

Switch a parkour to testing mode while you tweak it and no first-completion rewards are paid out.

WorldGuard and ItemsAdder

Restrict all plates to WorldGuard regions. With ItemsAdder the timer shows custom icons for time and checkpoints.

13Discord bot Pro

A built-in bot that answers /scoreboard parkour:<name> with a rich embed of the top times.

  1. Create a bot

    In the Discord Developer Portal create an application, add a bot and copy its token. Invite it with the applications.commands scope.

  2. Configure

    Set discord.enabled: true, paste the token and optionally a guild-id for instant command registration.

  3. Style the embed

    title, color, entry-format (%pos%, %player%, %time%, %rank%), footer, empty-message, column labels and leaderboard-size. With LuckPerms and show-prefix the rank prefix is included.

  4. Reload

    /parkour reload re-registers the slash command.

Player heads can be shown inline as guild emojis (inline-head-emojis); head URLs are cached for avatar-cache-minutes.

13bWeb API Pro 1.0.9

A read-only JSON API for websites, Discord bots or dashboards. Enable it with web-api.enabled: true.

GET /api/parkours
GET /api/leaderboard/<parkour>?limit=10&period=alltime|daily|weekly|monthly
GET /api/player/<name>
GET /api/stats/<parkour>
GET /api/season

With web-api.token set, send Authorization: Bearer <token> or ?token=. Responses carry Access-Control-Allow-Origin: * so a browser page can call them directly. Leaderboard entries include the checkpoint splits of each record.

14MySQL & languages

MySQL

mysql:
  enabled: true
  host: localhost
  port: 3306
  database: parkourpro
  username: root
  password: secret
  table-prefix: parkour_

The table is created on first connect. The prefix may only contain letters, digits and underscores. When the database is unreachable the plugin logs the error and keeps working from records.yml.

Languages

Bundled: en_US, nl_NL, de_DE, fr_FR, es_ES, it_IT, pt_BR, ru_RU, pl_PL, tr_TR, zh_CN, zh_TW, ja_JP, ko_KR, sv_SE, cs_CZ, fi_FI, da_DK, no_NO, ro_RO, uk_UA, el_GR, hu_HU. Edit any file in languages/ and reload. Missing keys are filled in from the English defaults so an update never breaks a translation.

15FAQ & troubleshooting

Not answered here? Ask on the Discord server.

The start plate does nothing

The parkour needs both a start and an end (setstart and setend). Check that the plate is a gold plate and, in Pro, that it lies inside the WorldGuard region when that restriction is enabled. Locked parkours also require the permission or prior completion.

Players get "you must complete all checkpoints"

All checkpoints are required and must be activated in order. A player who skipped one sees "you skipped a checkpoint" on later plates and has to go back. Use setrequiredcheckpoints <parkour> <number> to require fewer. Make sure checkpoints were added in course order.

Command blocks teleport players and they get reset

Set anti-cheat.detect-teleport: false. The threshold only applies while that option is on.

Holograms are invisible or duplicated

Run /parkour reload, which removes and recreates every hologram. Check holograms.visibility-range. On modern Paper builds where the modern renderer causes issues, keep modern-renderer.enabled: false.

A cheater is on top of the leaderboard

/parkour deletetime <parkour> <player>. The hologram refreshes immediately. If a player's record is wrong, correct it with settime.

Records disappeared after switching between Pro and Lite

Both editions keep their own folder. On first start the plugin copies records.yml from the other edition's folder when its own file has no records. With MySQL both editions share the same table.

The time limit does not start

A time limit needs a leave position: /parkour setleaveposition <parkour> first.

Which version of Java do I need?

Java 8 or newer. The jar is compiled to Java 8 bytecode and has been run on Java 8 through 25.

16Changelog

1.1.0

  • Pro: item frame map boards, a leaderboard poster on maps with header, podium heads, rows and footer (/parkour mapboard).
  • Both: update checker with admin notification on join and /parkour version.

1.0.9

  • Both: checkpoint splits, statistics, top and pb, new placeholders, leave radius, cooldown and daily limit, per-parkour sounds and titles, export / import, wizard steps for reset, leave and leaderboard, Discord webhook.
  • Pro: ghost replay, race mode, daily / weekly / monthly leaderboards, seasons, parkour menu, speed check, rewards by time and rank, network sync, checkpoint effects, web API.

1.0.8

  • Both: /parkour deletetime <parkour> <player> wipes a player's record; works for offline players and MySQL; leaderboard refreshes instantly.
  • Both: /parkour settime <parkour> <player> <mm:ss.ms> sets or overwrites a record; leaderboard refreshes instantly.
  • Both: tab completion for both commands; new messages in the English defaults and the en_US / nl_NL files.
  • Pro: /parkour togglefinishproximity <parkour> [radius], finish without triggering the end pressure plate.
  • Both: checkpoints must now be activated in order. Skipping a checkpoint no longer counts the ones in between (checkpoints.sequential, default true).

1.0.7-1

  • Both editions run on Minecraft 26.2.
  • Fixed the TPS and lag issue caused by the leaderboard hologram.
  • Fixed the reset look position.
  • Pro: a parkour now only needs a start and an end; checkpoints are optional.

17Downloads

ParkourPro Lite Free

SpigotMC · Modrinth · CurseForge

ParkourPro Lite for Pumpkin Free

Pumpkin Market · Pumpkin edition

ParkourPro Premium

BuiltByBit · Polymart / Voxelshop

Leave a review. Enjoying the plugin? A review on the platform you downloaded it from helps others find it and keeps development going: SpigotMC · Modrinth · CurseForge · BuiltByBit · Polymart. Thank you!

18Pumpkin edition

ParkourPro Lite is also available for Pumpkin, the Minecraft server written in Rust. It is a separate, native build: the Spigot/Paper jar does not run on Pumpkin.

Different from the rest of this wiki. The Pumpkin edition has its own commands, permissions and settings. Everything that applies to it is on this page; the other pages describe the Spigot/Paper editions.

Installation

  1. Download the .wasm file

    Get ParkourPro Lite from the Pumpkin Market. Pick the file that matches your Pumpkin version.

  2. Put it in plugins/

    Place the file in the plugins/ folder of your Pumpkin server and start the server.

  3. Allow file access

    On first start Pumpkin asks to allow fs.write.data. The plugin needs it to save parkours, records and settings in its own data folder. Answer y.

  4. Pick a language

    Set language in config.yml (for example nl_NL) and run /parkour reload.

ComponentSupported
Server softwarePumpkin 0.2.0
Minecraft26.3
Plugin version1.1.0
One build per Pumpkin version. A plugin only loads on the Pumpkin version it was built for. After updating Pumpkin, download the matching plugin file again. The error "Plugin is built against a different API version" means the file and the server do not match.

Your first parkour

  1. Start

    Place a gold pressure plate (light weighted), look at it or stand on it and run /parkour setstart <name>.

  2. Finish

    Place a second gold pressure plate and run /parkour setend <name>.

  3. Checkpoints

    Place iron pressure plates (heavy weighted) and run /parkour addcheckpoint <name> for each one, in course order.

  4. Leaderboard

    Stand where you want the leaderboard and run /parkour addleaderboard <name>.

Step on the start plate to begin. Your inventory is emptied during the run and given back when you finish, cancel or leave.

Commands

Root command /parkour, aliases /pk and /par.

CommandPermissionWhat it does
/parkour checkpointuseTeleports you to your last checkpoint.
/parkour resetuseBack to the reset location, timer restarts.
/parkour cancel · leaveuseEnds your run.
/parkour listuseLists all parkours.
/parkour top <parkour> [page]useBest times of a parkour.
/parkour pb <parkour> [player]usePersonal best, statistics and checkpoint splits.
/parkour versionuseShows the plugin version.
/parkour setstart <name>adminSets the start plate (gold). Creates the parkour.
/parkour setend <name>adminSets the finish plate (gold).
/parkour addcheckpoint <name>adminAdds the iron plate as the next checkpoint.
/parkour deletecheckpoint <name> <number>adminRemoves a checkpoint.
/parkour setreset <name>adminSets the reset location to where you stand.
/parkour setleaveposition <name>adminWhere players go when they leave or cancel.
/parkour delete <name>adminDeletes the parkour.
/parkour addleaderboard <name>adminPlaces the leaderboard hologram where you stand.
/parkour setleaderboardsize <name> <size>adminNumber of places on the leaderboard.
/parkour sethologram <name> <start|end|checkpoint> <text>adminCustom hologram text, | starts a new line. default restores the text from config.yml.
/parkour setfallback <name> <y|off>adminPlayers below this height are sent back.
/parkour setcooldown <name> <seconds>adminWaiting time after finishing, 0 = off.
/parkour setmaxattempts <name> <perDay>adminAttempts per player per day, 0 = unlimited.
/parkour setleaveradius <name> <blocks>adminCancels the run when the player moves this far from the course, 0 = off.
/parkour deletetime <parkour> <player>adminDeletes a record.
/parkour settime <parkour> <player> <mm:ss.ms>adminSets a record, for example 01:23.456.
/parkour reloadadminReloads config.yml, the language and all holograms.

Permissions

Pumpkin requires permission nodes to start with the plugin name, so they differ from the Spigot/Paper editions.

NodeDefaultGrants
parkourpro-lite:useeveryoneRunning parkours and the player commands.
parkourpro-lite:adminop (level 2)Creating and managing parkours, records and reload.

Configuration and languages

config.yml uses the same layout and names as the Spigot/Paper edition, so the Configuration page applies to the sections below. All 23 languages are included in the languages/ folder.

SectionNotes for Pumpkin
languageSame as Spigot/Paper.
soundsUse Minecraft sound names such as block.note_block.pling. Empty = no sound.
checkpoints.sequentialSame as Spigot/Paper.
timer-displaytype is actionbar or disabled.
bed-confirmationSame as Spigot/Paper.
fallbackdefault-y is applied to newly created parkours when y-enabled is true.
hologramsText, leaderboard format, colours and offsets. A hologram grows upwards from its base, so the offsets are the height of the bottom line.
itemsMaterial, name, slot and click type of the three hotbar items. items.enabled: false keeps the inventory untouched.
leave.teleport-tostart, reset or none.
broadcast.recordSame as Spigot/Paper.
features.restart-on-same-startSame as Spigot/Paper.

Files

FileContents
config.ymlSettings.
languages/*.ymlMessages per language. Add your own file and set its name as language.
parkours.jsonParkours, checkpoints and rules.
records.jsonBest times and checkpoint splits.
stats.jsonAttempts, completions and play time per player.

Not available on Pumpkin yet!

  • All Pro features: there is no Pro edition for Pumpkin yet.
  • End and reward commands, MySQL, the Discord webhook, PlaceholderAPI placeholders and the update checker.
  • Anti-cheat checks, parkour locks, death handling, custom sounds and titles per parkour, import and export, the creation wizard.
  • Title and boss bar timers, and rank prefixes on the leaderboard.

Known issues

Ghost items in the crafting grid. During a run two of the parkour items can also appear in the crafting slots of the inventory screen. They are only visible on the client and disappear when clicked. This is caused by Pumpkin 0.2.0 and cannot be fixed by the plugin.
Server crash during a run. The inventory of a running player is kept in memory. It is given back on finish, cancel, leave, disconnect and a normal server stop, but not after a crash.

19Support & Discord

Need a language that is not bundled, found a bug, or want help setting something up? Join the Discord server.

  • New language: ask in the server, or translate languages/en_US.yml yourself and send it in. It will be bundled in the next release for everyone.
  • Bugs: post your server version, plugin edition and version, and the console log around the error.
  • Feature requests and setup help: welcome as well. Pro buyers get priority support.
  • Happy with the plugin? Leave a review on the platform you downloaded it from. It is the best way to support the project.