Actualizado:
La forma básica
/execute as <quién> at <dónde> run <comando>
El comando que de verdad quieres va después de run. Para que caiga un rayo donde está el jugador más cercano:
/execute at @p run summon minecraft:lightning_bolt ~ ~ ~
as y at
ascambia quién ejecuta el comando (lo que significa@s).atcambia dónde se ejecuta (lo que significa~ ~ ~), incluida la dirección a la que se mira.
/execute as @e[type=minecraft:zombie] run say test hace que cada zombi sea quien envía el comando, pero la posición sigue siendo donde empezó el comando. Añade at @s para llevar también la posición a cada zombi. La guía de as frente a at muestra más casos.
/execute as @e[type=minecraft:zombie] at @s run particle minecraft:flame ~ ~1 ~ 0.1 0.1 0.1 0 5
Cuando un selector encuentra varias entidades, el comando se ejecuta una vez por cada una. Prueba primero con say para ver cuántas veces se dispara.
Ejecutar solo cuando algo se cumple
/execute if entity @e[type=minecraft:zombie,distance=..10] run say Hay un zombi cerca
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s minecraft:speed 1 1 true
/execute as @a if score @s coins matches 100.. run say Tengo 100 monedas o más
La primera línea comprueba si hay un zombi a 10 bloques o menos. La segunda da Velocidad solo a los jugadores que están sobre un bloque de oro. La tercera elige a los jugadores cuya puntuación coins es 100 o más: 100.. significa «100 o más» y ..9 significa «9 o menos». Usa unless para la comprobación contraria.
Los subcomandos que más vas a usar
| Subcomando | Qué hace | Ejemplo |
|---|---|---|
as | Cambia quién envía el comando | as @a |
at | Lleva la posición y la rotación al objetivo | at @s |
positioned | Mueve solo la posición | positioned ~ ~5 ~ |
if / unless | Continúa solo si la comprobación se cumple o no se cumple | if block ~ ~-1 ~ minecraft:gold_block |
in | Cambia la dimensión | in minecraft:the_nether |
store | Guarda el resultado en una puntuación o en datos (Java) | store result score @s count |
Los subcomandos se ejecutan de izquierda a derecha, y run va al final. Puedes montar la cadena con el generador de execute.
Bedrock Edition
Desde Bedrock 1.19.50, /execute usa la misma forma con as, at, if y run que Java. La distancia se escribe r=10 en lugar de distance=..10. La forma antigua /execute @e ~ ~ ~ … puede no funcionar en las versiones actuales.
Cuando no pasa nada
- No hace efecto: comprueba que está
runy que la condición se cumple de verdad. Ejecuta solo la parte de la condición, como/execute if entity @e[type=minecraft:zombie], y el juego te dirá si se cumplió. - Pasa en el sitio equivocado: con
aspero sinat, la posición se queda en el punto de partida (el propio bloque, en un bloque de comandos). - Se ejecuta demasiadas veces:
@ey@ase repiten por cada coincidencia. Acótalos conlimit=1u otros filtros. - Mensajes de error: consulta el comando execute no funciona.
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.