Actualizado:

La forma básica

/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s minecraft:speed 1 1
ParteSignificado
as @aEjecutar como cada jugador
at @sEjecutar en la posición de ese jugador
if block ~ ~-1 ~ gold_blockSeguir solo si el bloque de debajo es de oro
run …El comando que se ejecuta

Esto da Velocidad a quien esté sobre un bloque de oro.

Error 1: falta run

/execute as @a at @s say hola da error; el comando tiene que ir después de run. En Java, un execute que termina en una condición sin run solo informa «Test passed» o «Test failed», lo que es útil para comprobar una condición.

Error 2: esperar que as mueva la posición

as solo cambia quién ejecuta. En un bloque de comandos, /execute as @a run setblock ~ ~-1 ~ stone pone piedra bajo el bloque una y otra vez, no bajo cada jugador.

FormaQuién ejecutaPosición
as @a runCada jugadorSin cambios
at @a runSin cambiosCada jugador
as @a at @s runCada jugadorCada jugador

Más en execute as frente a at.

Error 3: sintaxis antigua de Bedrock

Bedrock pasó a la sintaxis al estilo de Java en la 1.19.50. Los comandos antiguos como /execute @a ~ ~ ~ detect ~ ~-1 ~ gold_block 0 effect @s speed hay que reescribirlos:

/execute as @a at @s if block ~ ~-1 ~ gold_block run effect @s speed 1 1

Error 4: las condiciones

No hay error, pero no pasa nada

Si as no selecciona a nadie, execute se detiene sin avisar. Prueba paso a paso:

# 1. ¿Se selecciona a alguien?
/execute as @a at @s run say seleccionado
# 2. Añade la condición
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run say condición cumplida

Si aparece un nombre en el chat, todo funciona hasta ese punto. Consulta los selectores de objetivo cuando no se encuentra a nadie.

Preguntas frecuentes

Comprueba tu comando

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