Actualizado:

Ejecuta esto una vez

/gamerule keep_inventory true
/gamerule immediate_respawn true
/gamerule fall_damage false
/scoreboard objectives add time dummy "Tiempo"

Los jugadores conservan sus objetos, reaparecen al instante y no reciben daño por caída. La última línea crea una puntuación para el temporizador. Estos nombres son para Java 1.21.11+. En 1.21.10 y anteriores, y en Bedrock, usa keepInventory, doImmediateRespawn y fallDamage (lista de gamerules).

Plataforma de salida

Pon una placa de presión en la salida con un bloque de comandos (Impulso, Necesita redstone) justo debajo. Pisar la placa lo ejecuta una vez. Los bloques en cadena ejecutan las líneas extra.

/gamemode adventure @p
/spawnpoint @p ~ ~1 ~
/tag @p add running
/scoreboard players set @p time 0

El modo aventura impide que los jugadores rompan el recorrido. ~ ~1 ~ es un bloque por encima del bloque de comandos, donde está la placa. Consulta el tutorial de bloques de comandos para los tipos de bloque.

Puntos de control

/spawnpoint @p ~ ~1 ~

Pon una placa y un bloque de comandos en cada plataforma de control. La última que haya pisado un jugador pasa a ser su punto de reaparición.

Devolver a quien caiga

Llena de agua la zona bajo el recorrido y pon esto en un bloque de comandos iterativo (Siempre activo):

/execute as @a[tag=running] at @s if block ~ ~ ~ minecraft:water run kill @s

Un jugador que toque el agua reaparece en su último punto de control, sin pantalla de muerte ni pérdida de objetos gracias a las reglas de arriba. Sobre el vacío, comprueba la altura:

/execute as @a[tag=running] at @s if entity @s[y=-64,dy=40] run kill @s

Esto atrapa a cualquiera entre Y -64 y -24. Cambia los números según tu recorrido.

Temporizador

/scoreboard players add @a[tag=running] time 1

En un bloque de comandos iterativo esto suma 20 por segundo. Ejecuta una vez /scoreboard objectives setdisplay sidebar time para mostrarlo a la derecha de la pantalla.

Meta

/tag @p remove running
/title @p title {"text":"¡Meta!","color":"gold"}
/tellraw @a [{"selector":"@p"},{"text":" ha llegado a la meta. Tiempo: "},{"score":{"name":"@p","objective":"time"}},{"text":" (20 = 1 segundo)"}]
/gamemode survival @p

Pon estos en cadena bajo la placa de la meta. Quitar la etiqueta running detiene el temporizador y la comprobación de caídas. Más sobre texto en la guía de title y tellraw.

Cuando no funciona

Comprueba tu comando

El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.