Actualizado:
La forma básica
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s minecraft:speed 1 1
| Parte | Significado |
|---|---|
as @a | Ejecutar como cada jugador |
at @s | Ejecutar en la posición de ese jugador |
if block ~ ~-1 ~ gold_block | Seguir 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.
| Forma | Quién ejecuta | Posición |
|---|---|---|
as @a run | Cada jugador | Sin cambios |
at @a run | Sin cambios | Cada jugador |
as @a at @s run | Cada jugador | Cada 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
if entitycomprueba si existe al menos un objetivo;if blockcomprueba el bloque de una posición.- Puntuaciones:
if score @s money matches 100...100..es 100 o más,..9es 9 o menos y10..20es entre ambos. - Usa
unlesspara «no»:unless entity @e[type=zombie]sigue cuando no hay ningún zombi.
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
- ¿run execute …? Funciona pero no hace falta; encadena antes de
runtodos los subcomandos que necesites. - ¿@p o @s después de as?
@s.@pelige a quien esté más cerca, que puede ser otra persona. - ¿Guardar un resultado en una puntuación? En Java:
execute store result score @s objetivo run ….
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.