Actualizado:
1. Preparación (una vez)
/scoreboard objectives add jump minecraft.custom:minecraft.jump
/scoreboard objectives add sneak minecraft.custom:minecraft.sneak_time
jump sube uno con cada salto; sneak cuenta los ticks que pasas agachado. Consulta detectar cuando te agachas.
2. Colocar los bloques de hierro
Apila bloques de hierro en una columna, a 5 bloques de distancia: por ejemplo en Y 64, 69 y 74. Cada uno está en un piso.
3. Saltar para subir
# iterativo, siempre activo
execute as @a[scores={jump=1..}] at @s if block ~ ~-0.5 ~ minecraft:iron_block if block ~ ~4.5 ~ minecraft:iron_block run tp @s ~ ~5 ~
# en cadena, siempre activo (todos los bloques de abajo)
execute as @a[scores={jump=1..}] at @s if block ~ ~-0.5 ~ minecraft:iron_block run playsound minecraft:entity.enderman.teleport master @s ~ ~ ~ 1 1.5
scoreboard players reset @a[scores={jump=1..}] jump
El jugador solo sube cuando hay hierro debajo y otro 5 bloques más arriba. La comprobación usa ~-0.5 porque en el tick del salto el jugador está un poco separado del suelo (coordenadas relativas).
4. Agacharse para bajar
execute as @a[scores={sneak=10..}] at @s if block ~ ~-0.5 ~ minecraft:iron_block if block ~ ~-5.5 ~ minecraft:iron_block run tp @s ~ ~-5 ~
scoreboard players reset @a[scores={sneak=10..}] sneak
execute as @a at @s unless block ~ ~-0.5 ~ minecraft:iron_block run scoreboard players reset @s sneak
Agacharse medio segundo sobre el hierro baja un piso. La última línea borra el tiempo agachado en cualquier otro sitio.
Solución de problemas
- Saltar no hace nada: el siguiente bloque de hierro tiene que estar exactamente 5 bloques más arriba.
- Baja varios pisos: sube
sneak=10..a 20 para bajar un piso por segundo. - Bedrock: no hay puntuaciones de salto ni de agacharse; usa una placa de teletransporte.
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.