Content generated with AI — it may contain mistakes.

Modules

Parkour

Courses built in game, medals, rewards, endless, sprint and daily modes, anti-cheat, leaderboards, holograms and settings.

The parkour module (parkour) has two kinds of run: courses you build in game, and three endless modes drawn block by block around the runner. Times and scores are stored in ExyliaLib's database, so lobbies that share it share their leaderboards.

Playing

CommandWhat it does
/parkour (alias /pk)Opens the course list.
/parkour <course>Starts a course.
/parkour endless, sprint, dailyStarts that endless mode, when enabled.
/parkour top [board]Opens a leaderboard (chat lines from the console). With no board it is endless.
/parkour leaveLeaves the run.

Runs start only inside the lobby, and not while another module holds the player (a fight, for example). Starting a run while running replaces it. Runners get three hotbar items: back to checkpoint, restart and leave.

Courses

A course has a start, ordered checkpoints and a finish. Stepping on the start starts or restarts a run; checkpoints must be reached in order and a run goes back to the last one reached when the runner touches a kill block, falls course-fall-depth blocks under their lowest point, or uses the back item. The finish records the time and the split at each checkpoint, and a better time replaces the old best.

Building one

All in game, from /lobbyadmin → Parkour (the editor), or by command, standing where each point goes:

/lobbyadmin parkour create <id>
/lobbyadmin parkour setstart <course>
/lobbyadmin parkour addcheckpoint <course>
/lobbyadmin parkour setfinish <course>
/lobbyadmin parkour addkill <course>
/lobbyadmin parkour medals <course> <gold> <silver> <bronze>
/lobbyadmin parkour delete <course>

A course can be run once start and finish are both placed. Ids are lower case letters, digits and dashes. addkill adds the block you look at to the course's kill blocks. Courses live in modules/parkour/courses.yml:

KeyWhat it does
name, difficulty, iconThe card: coloured name, a label such as Easy or Expert, and its icon.
enabledPlayers cannot start it while off.
start, checkpoints, finish, worldThe places.
kill-blocksBlocks that send a runner back to their last checkpoint, such as LAVA or MAGMA_BLOCK.
time-limitSeconds a run may last. 0 has no limit.
medalsgold, silver, bronze targets in seconds; 0 means no such medal. A time earns the best medal it meets.
minimum-timeA finish faster than this is refused and logged. 0 checks nothing.
first-rewards, repeat-rewards, repeat-cooldownGiven the first time a course is finished; given on later finishes, at most once per cooldown (default 24h).

Endless, sprint and daily

ModeRuleBoard
endlessThe score is how many jumps you make before falling.endless
sprintAs many jumps as you can before the clock runs out (sprint-seconds, default 60).sprint
dailyThe same path for every player today, with its own board.daily (daily only)

The path is generated ahead of the runner and cleared behind them, in a box you define:

/lobbyadmin parkour endlessarea <name>

Make a selection of the box first, then stand where the run starts (the run starts where you stand). start is the block under the runner's feet and heading is where the path sets off: 0 east (+x), 1 south (+z), 2 west (-x), 3 north (-z). Keep the box empty air. A runner gets one area at random; daily always uses the first. Endless parkour needs PacketEvents.

Daily paths are seeded from the date and a secret in modules/parkour/daily-secret.txt. Lobbies that should share the daily path share that file; keep it private.

Landings are confirmed by the server. A landing it cannot confirm (off the path, out of reach or too fast) ends the run unscored.

Endless tuning

KeyDefaultWhat it does
endless.areasnoneThe boxes, by name.
endless.ahead / behind3 / 2Jumps drawn ahead (1-5) and kept behind (0-3).
endless.theme-every25The block theme changes every this many jumps. 0 keeps one. Themes are in themes.yml.
endless.milestones25, 50, 100, 150, 200Scores that show a title and play the milestone sound.
endless.fall-depth4A run ends when the runner falls this far under the jump they stand on.
endless.best-markerGOLD_BLOCKMarks where your best run ended. Blank draws none.
endless.milestone-rewardsnoneRewards by score, same format as course rewards.
endless.milestone-periodDAILYHow often each milestone pays again, per mode: ALL (once ever), MONTHLY, WEEKLY or DAILY. Daily always pays once a day.
endless.tuningbuilt inweights and unlocks per segment type, a curve of score to hardest difficulty (1-5), rest-every (20), bonus-chance (0.08), bonus-from (30), bonus-points (2), turn-chance (0.3). Since 1.8.0 the crumble segment (from score 25) draws blocks that vanish 0.8 s after you land on them.

Screen

In ExyliaLib's SCREEN menu style, the parkour list opens as a full screen (screens/parkour.html), with its words in lang/<code>/screens/parkour.yml. It reads the same data and actions as the chest menu, which Bedrock and older clients still get. Put your own rules in screens/custom.css; /exylialib screens check lists anything wrong.

Anti-cheat

Under anti-cheat, all on by default:

KeyEffect
flight, elytra, riptide, pearls, vehiclesFlight is switched off for the run, and the others are refused. Doing it anyway ends the run.
game-mode, teleportsA game mode change, or a teleport this module did not make, ends the run.
launchesLaunch pads, double jumps and knockback are refused while running.
effects, blocked-effectsThe listed effects (default speed, jump boost, levitation, slow falling, dolphin's grace) are taken away and refused.
minimum-timeA course finished under its minimum time is refused and logged.

A run ended this way records nothing and tells the runner why.

Leaderboards and holograms

A board is a course id or a mode, optionally with a period: tower, tower-weekly, endless-monthly, daily. Periods are all, monthly, weekly and daily. Courses rank fastest first; modes rank highest first.

Place a leaderboard hologram with /lobbyadmin parkour board <board> (a wizard asks you to confirm the spot). The spots are kept in boards.

KeyDefaultWhat it does
tops.size / refresh-seconds100 / 60Places kept per board, and how often they are read again.
periods.timezoneserver'sTime zone of the resets, such as Europe/Madrid.
periods.reset-hour0The hour a new day starts at.
periods.week-startMONDAYThe day a new week starts on.

Other settings

KeyDefaultWhat it does
command[parkour, pk]Labels of the player command. Empty removes it.
modes.endless / sprint / dailytrueWhich modes players can start.
modes.sprint-seconds60How long a sprint lasts.
hide-runnerstrueHide runners from everyone else (needs PacketEvents).
checkpoint-beacontrueA beam over the next checkpoint (needs PacketEvents).
run-itemstrueThe back, restart and leave items (needs PacketEvents).
course-fall-depth8Blocks under the lowest point before a course run falls back to its checkpoint. 0 never.
soundsshort UI soundsstart, checkpoint, finish, record, milestone, fail, each `NAME

Placeholders are on the placeholders page.

Something missing on this page? Tell us on Discord