Parkour generator
Datapacks
Track with checkpoints and timerLearn more
The Side Parker for Minecraft 1.21.9 - 26.3: Select complexity and length: Datapack will set the track with one command, while the checkpoints, timer and return after fall will work themselves.
My game select version
We'll remember in this browser and set up where your version is available. Open link settings are more important than this choice; the Vicki versions do not change.
Difficulty
After 2–3 blocks with a running start, upwards after 1–2.
Length
Checkpoints
Blocks
Start - Block of Emerald, checkpoints - gold, finish - diamond.
Route
Date · 1.21.9 - 26.3Jumping height
- Jumps
- 20
- Checkpoints
- 3
- Size
- 17 × 9 × 25
- Seed
- 2026
Set the track from your feet (operator rights)
/function parkour:placeWhat's inside the archive - 15 files
data/minecraft/tags/function/load.json
Load tag: the game calls these functions when loading the world and after /reload.
{
"values": [
"parkour:load"
]
}
data/minecraft/tags/function/tick.json
Tick tag: these functions run every tick - 20 times per second.
{
"values": [
"parkour:tick"
]
}
data/parkour/function/load.mcfunction
When loading the world: player scores and /trigger parkour.
scoreboard objectives add pk dummy
scoreboard objectives add pk_id dummy
scoreboard objectives add pk_cp dummy
scoreboard objectives add pk_t dummy
scoreboard objectives add pk_floor dummy
scoreboard objectives add pk_y dummy
scoreboard objectives add pk_sec dummy
scoreboard objectives add pk_dec dummy
scoreboard objectives add pk_best dummy
scoreboard objectives add parkour trigger "Сойти с трассы"
scoreboard players set #20 pk 20
scoreboard players set #2 pk 2
data/parkour/function/tick.mcfunction
Every tick: start, run along the track, exit.
scoreboard players enable @a parkour
execute as @a[scores={parkour=1..}] run function parkour:quit
execute as @a at @s if entity @e[type=marker,tag=pk_start,distance=..1.2] run function parkour:ready
execute as @a[tag=pk_run] at @s run function parkour:run
data/parkour/function/place.mcfunction
/function parkour:place - the track is from your feet, you are at the start.
kill @e[type=marker,tag=pk]
execute align xyz positioned ~-1 ~ ~-1 run function parkour:build
tp @s ~ ~1 ~
data/parkour/function/build.mcfunction
Template and markers for start, checkpoints and finish.
place template parkour:course
function parkour:mark {x:1,y:1,z:1,id:0,drop:0}
function parkour:mark {x:2,y:2,z:19,id:1,drop:0}
function parkour:mark {x:10,y:3,z:22,id:2,drop:0}
function parkour:mark {x:11,y:6,z:8,id:3,drop:0}
tag @e[type=marker,tag=pk_cp,scores={pk_id=0}] add pk_start
summon marker ~16.5 ~9 ~1.5 {Tags:["pk","pk_end"]}
tellraw @s {"text":"Трасса готова: 20 прыжков, чекпоинтов — 3. Сойдите со старта — время пойдёт.","color":"green"}
data/parkour/function/mark.mcfunction
Macro: checkpoint marker with the number and “gender” of its area.
$summon marker ~$(x).5 ~$(y) ~$(z).5 {Tags:["pk","pk_cp","pk_new"]}
$scoreboard players set @e[type=marker,tag=pk_new] pk_id $(id)
execute as @e[type=marker,tag=pk_new] store result score @s pk_floor run data get entity @s Pos[1]
$scoreboard players remove @e[type=marker,tag=pk_new] pk_floor $(drop)
tag @e[type=marker,tag=pk_new] remove pk_new
data/parkour/function/ready.mcfunction
Player at the start: time from scratch.
tag @s add pk_run
scoreboard players set @s pk_cp 0
scoreboard players set @s pk_t 0
scoreboard players operation @s pk_floor = @n[type=marker,tag=pk_start] pk_floor
data/parkour/function/run.mcfunction
Every tick on the track: time, checkpoint, finish, fall.
scoreboard players add @s pk_t 1
execute if score @s pk_cp < @n[type=marker,tag=pk_cp,distance=..1.2] pk_id run function parkour:checkpoint
execute if entity @e[type=marker,tag=pk_end,distance=..1.2] run return run function parkour:finish
execute store result score @s pk_y run data get entity @s Pos[1]
execute if score @s pk_y < @s pk_floor run function parkour:back
function parkour:clock
title @s actionbar ["",{"text":"Чекпоинт "},{"score":{"name":"@s","objective":"pk_cp"}},{"text":"/3 · "},{"score":{"name":"@s","objective":"pk_sec"}},{"text":"."},{"score":{"name":"@s","objective":"pk_dec"}},{"text":" с"}]
data/parkour/function/clock.mcfunction
Ticks - in seconds and tenths.
scoreboard players operation @s pk_sec = @s pk_t
scoreboard players operation @s pk_sec /= #20 pk
scoreboard players operation @s pk_dec = @s pk_t
scoreboard players operation @s pk_dec %= #20 pk
scoreboard players operation @s pk_dec /= #2 pk
data/parkour/function/checkpoint.mcfunction
New checkpoint: number and floor of the plot.
scoreboard players operation @s pk_cp = @n[type=marker,tag=pk_cp] pk_id
scoreboard players operation @s pk_floor = @n[type=marker,tag=pk_cp] pk_floor
playsound minecraft:entity.experience_orb.pickup master @s
title @s subtitle {"text":"Чекпоинт","color":"gold"}
title @s title ""
data/parkour/function/back.mcfunction
Fell - to your checkpoint (teleport removes fall damage).
tag @s add pk_me
execute as @e[type=marker,tag=pk_cp] if score @s pk_id = @e[tag=pk_me,limit=1] pk_cp at @s run tp @e[tag=pk_me,limit=1] ~ ~ ~
tag @s remove pk_me
playsound minecraft:entity.enderman.teleport master @s
data/parkour/function/finish.mcfunction
Finish: chat time, player record.
tag @s remove pk_run
function parkour:clock
playsound minecraft:ui.toast.challenge_complete master @s
tellraw @a ["",{"selector":"@s"},{"text":" прошёл паркур за ","color":"green"},{"score":{"name":"@s","objective":"pk_sec"}},{"text":"."},{"score":{"name":"@s","objective":"pk_dec"}},{"text":" с"}]
execute unless score @s pk_best matches 1.. run scoreboard players set @s pk_best 2147483647
execute if score @s pk_t < @s pk_best run function parkour:record
data/parkour/function/record.mcfunction
Player's best time.
scoreboard players operation @s pk_best = @s pk_t
title @s title {"text":"Рекорд!","color":"gold"}
data/parkour/function/quit.mcfunction
/trigger parkour - leave the track without operator rights.
scoreboard players set @s parkour 0
tag @s remove pk_run
tellraw @s {"text":"Вы сошли с трассы. Вернуться — встаньте на старт.","color":"gray"}
If you build with your hands - 29 blocks
How to set a route
- Put the datapack into the world
In single player - saves/<world>/datapacks, on the server - world/datapacks, then /reload. No need to unpack.
- Stand on level ground
The track will leave your legs east and south - 17 x 9 x 25 blocks. The best is a flat world or an open field.
- Set it up and run
/function parkour:place - you will find yourself at the start. We got off the start and time has passed.
What you need to know
- We pass every jump. The longest jump from the breakup is four blocks of voids on a level and three blocks climbing into the block. The "complex" reaches these limits, the "easy" is no more than two.
- If you fall, you will return to the checkpoint. Whoever has dropped below the lowest block of their area is transported to the last checkpoint. There is no fall damage: the teleport removes it.
- Time and record. Above the hotbar there is a checkpoint and seconds, at the finish line everyone spends time in the chat, and everyone keeps their own best result.
- Get off the track - /trigger parkour. No operator rights are needed; return - get to the start.
- The template places only route blocks. The hill or tree in the path will remain in place - so the place is level. There is only one route to the world: re-installation transfers checkpoints to a new one.
- Sid is the track. The same seed and settings give the same trace, so the link can be shared instead of a file.
Labyrinth for the same map - Labyrinth generator, rules over survival - “Minecraft, but...”, and ready-made parkour tracks are on Parcour servers.
Frequently asked questions
How to make parkour in Minecraft?
Select complexity and length, download the date pack and place it in the world. The command / function parcour:place will set the path from your feet: start, checkpoints and finishes have already been marked.
What happens if you fall off the road?
A player who falls below his area is transported to the last checkpoint passed, without damage from the fall. No checkpoints - off to the start.
How to find out the transit time?
Time's been going over the hotbar since you got off start. At the finish, everyone sees him in a chat room, and each player's best result is remembered.
