NapNodes

← Guías de Minecraft

Minecraft · actualizada el 20 de octubre de 2026

Comando /execute en Minecraft: as, at, if, store y run con ejemplos para tu servidor

/execute es el comando que convierte a los demás en algo útil: hace que un comando lo ejecute cada jugador, en su sitio, solo si se cumple algo. Es la base de los bloques de comandos, de los datapacks y de casi cualquier minijuego hecho sin plugins. Aquí tienes cómo se lee, los ejemplos que más se usan en un servidor y los fallos de siempre.

¿Se lo pasas a tu grupo?WhatsApp

Cómo se lee un /execute

Un /execute es una cadena de piezas que se leen de izquierda a derecha y acaba siempre en run seguido del comando de verdad. Cada pieza cambia algo antes de llegar a run: quién lo ejecuta, dónde, mirando hacia dónde, en qué dimensión o si se ejecuta o no.

execute as @a at @s run summon minecraft:lightning_bolt se lee así: para cada jugador (as @a), desde donde está ese jugador (at @s), invoca un rayo. Sin el at @s, los rayos caerían todos donde está quien escribe el comando, no sobre cada jugador.

Pide nivel de permiso 2: en un servidor, ser op (los op tienen nivel 4 si nadie lo ha bajado); en la consola del servidor y en los bloques de comandos siempre se puede. Es de Minecraft Java; Bedrock tiene uno parecido desde la 1.19.50, con menos piezas (sin store ni las condiciones de datos).

Si una guía vieja te dice execute @a ~ ~ ~ say hola o execute @a ~ ~ ~ detect…, es la forma de antes de la 1.13: ya no funciona. Lo mismo hoy es execute as @a at @s run say hola, y el detect es un if block (abajo).

¿Prefieres no montarlo tú? Servidores de Minecraft desde 6 € al mes, sin permanencia y con devolución íntegra en 72 horas. O crea un servidor de Minecraft gratis, sin tarjeta.

as y at: quién y desde dónde (el fallo número uno)

as cambia QUIÉN ejecuta el comando: a partir de ahí, @s es cada una de esas entidades. No cambia el sitio: el comando sigue saliendo de donde estaba.

at cambia DÓNDE: la posición, hacia dónde mira y la dimensión pasan a ser las de esa entidad. No cambia quién: @s sigue siendo el de antes.

Por eso casi siempre van juntos y en este orden: execute as @a at @s run … («cada jugador, desde donde está él»). Al revés, at @a as @a, el resultado es otro: cada jugador lo ejecuta desde la posición de cada uno de los demás, y con 5 jugadores el comando se ejecuta 25 veces.

El fallo de siempre: execute as @a run particle minecraft:heart ~ ~2 ~. Las partículas salen todas en el mismo sitio, porque ~ ~ ~ sigue siendo el sitio de quien lanzó el comando. Desde la consola del servidor, ese sitio es el punto de aparición del mundo principal, no el tuyo. Con at @s delante de run, cada jugador tiene sus corazones encima.

if y unless: ejecutar solo si se cumple algo

if deja pasar el comando solo si se cumple la condición; unless, solo si no se cumple. Se pueden encadenar varios, y todos tienen que cumplirse. Si un /execute termina en una condición sin run, el comando solo dice si se cumple o no (y cuántas veces), y un bloque de comandos con un comparador al lado lo convierte en una señal de redstone.

  1. if block: qué bloque hay en un sitio

    execute as @a at @s if block ~ ~-1 ~ minecraft:diamond_block run effect give @s minecraft:speed 2 1 true. Da velocidad a quien pisa un bloque de diamante. Es el antiguo detect: ~ ~-1 ~ es el bloque justo debajo de los pies.

  2. if entity: si hay alguien o algo

    execute if entity @a[distance=..5] run … desde un bloque de comandos se cumple cuando hay un jugador a 5 bloques o menos. execute unless entity @e[type=minecraft:zombie] run say Ya no quedan zombis sirve para el final de una oleada.

  3. if score: puntos de un marcador

    execute as @a if score @s muertes matches 10.. run tag @s add veterano. 10.. es «10 o más», ..9 es «9 o menos» y 3..5 es «de 3 a 5». El marcador se crea antes con scoreboard objectives add muertes deathCount.

  4. if items: lo que lleva en la mano

    execute as @a if items entity @s weapon.mainhand minecraft:diamond_sword run … se cumple con quien lleva una espada de diamante en la mano. Está desde la 1.20.5; para la otra mano es weapon.offhand y para la armadura, armor.head, armor.chest, armor.legs o armor.feet.

  5. if dimension y if biome: en qué mundo o bioma está

    execute as @a at @s if dimension minecraft:the_nether run … solo con quien está en el Nether. execute as @a at @s if biome ~ ~ ~ minecraft:desert run … con quien está en el desierto. Las dos están desde la 1.19.4.

in, positioned, rotated y facing: mover el comando

in cambia la dimensión: execute in minecraft:the_nether run tp @s 0 100 0 lleva al jugador a esas coordenadas del Nether, no del mundo normal. Los nombres son minecraft:overworld, minecraft:the_nether y minecraft:the_end, y los mundos de Multiverse tienen el suyo.

positioned mueve el punto de partida sin cambiar nada más: execute positioned 0 64 0 run kill @e[type=minecraft:item,distance=..20] borra los objetos tirados a 20 bloques del centro del mundo, esté quien esté escribiendo. positioned as @p es «en el sitio del jugador más cercano».

rotated y facing cambian hacia dónde se mira. Con las coordenadas de mira (^ ^ ^5 es «5 bloques delante, según hacia dónde mira»), execute as @a at @s anchored eyes run particle minecraft:flame ^ ^ ^3 pone una llama 3 bloques delante de los ojos de cada jugador. anchored eyes hace que se cuente desde los ojos y no desde los pies.

En Paper (el que entregamos), las reglas del juego son de cada mundo: execute in minecraft:the_nether run gamerule keep_inventory true la cambia solo en el Nether. Escrita sin el in desde la consola, cambia solo el mundo principal.

store: guardar un número en un marcador

store guarda lo que devuelve un comando. store result guarda el número que da (cuántos objetos, cuántas entidades, el valor leído); store success guarda 1 si ha funcionado y 0 si no.

Contar los diamantes que lleva cada jugador: crea el marcador con scoreboard objectives add diamantes dummy y luego execute as @a store result score @s diamantes run clear @s minecraft:diamond 0. El clear con 0 al final no quita nada: solo cuenta, y ese número queda en el marcador de cada uno.

Contar cuántos mobs hay cargados: execute store result score #total mobs if entity @e[type=!minecraft:player]. El #total es un nombre que no es de ningún jugador: se ve en el marcador y no sale en la lista de la tecla Tab. Si ese número no para de crecer, es una granja o un spawner sin control, y suele ser la causa del lag.

on y summon: los parientes de una entidad

on salta de una entidad a otra relacionada con ella: on vehicle (lo que monta), on passengers (quien va encima), on owner (el dueño de un lobo o un gato), on attacker (quien la golpeó hace poco), on leasher (quien la lleva con la rienda). execute as @e[type=minecraft:wolf] on owner run … ejecuta el comando con el dueño de cada lobo domesticado.

summon invoca una entidad y sigue con ella como @s: execute summon minecraft:armor_stand run tag @s add marcador crea un soporte de armadura y le pone una etiqueta en el mismo paso. Las dos están desde la 1.19.4.

Ejemplos listos para tu servidor

  1. Zona segura en el spawn

    En un bloque de comandos de repetir, siempre activo: execute positioned 0 64 0 as @a[distance=..30] run effect give @s minecraft:resistance 2 4 true. Cambia 0 64 0 por el centro de tu spawn y 30 por el radio. Si solo quieres que no se rompan bloques, la protección del spawn ya lo hace sin comandos.

  2. Aviso al entrar en el Nether

    Con una etiqueta para que salga una vez: execute as @a[tag=!avisado] at @s if dimension minecraft:the_nether run tellraw @s {"text":"Cuidado: aquí no se puede dormir","color":"red"} y, en el siguiente bloque de la cadena, tag @a add avisado. Los textos con colores y clic los escribe el generador de tellraw de NapNodes.

  3. Trampolín de bloque de slime

    execute as @a at @s if block ~ ~-1 ~ minecraft:slime_block run effect give @s minecraft:jump_boost 1 4 true. Da salto potenciado V mientras pisa slime (el 4 es el nivel menos uno).

  4. Recompensa por tiempo jugado

    Crea scoreboard objectives add minutos dummy y, cada minuto (desde una función o un reloj de redstone), execute as @a run scoreboard players add @s minutos 1. En la misma función, justo después, execute as @a[scores={minutos=60}] run give @s minecraft:diamond 1 da un diamante a la hora de juego, una sola vez (al minuto siguiente ya tiene 61). En un bloque de comandos de repetir lo daría 20 veces por segundo durante ese minuto.

Que no te dé lag

Un /execute en un bloque de comandos de repetir corre 20 veces por segundo. execute as @e at @s run … recorre TODAS las entidades cargadas en cada tick: con granjas, objetos tirados y mobs, son miles de veces por segundo, y se nota en el servidor entero.

Lo que más ayuda: filtra en el selector y no después (@e[type=minecraft:zombie,distance=..50] mejor que @e seguido de un if), usa @a en vez de @e cuando solo te interesan jugadores, pon limit=1 cuando basta con uno y, si algo no hace falta cada tick, muévelo a una función que se llame cada segundo o con un reloj más lento.

Para comprobarlo, /tick query (desde la 1.20.3) o el /mspt de Paper te dicen cuánto tarda cada tick: tienen que ser menos de 50 ms. Si al poner un bloque de comandos sube mucho, ya sabes quién es. La guía de spark te enseña a ver qué comando o plugin come más.

Problemas típicos

«Unknown or incomplete command» o «Incorrect argument for command»: es la sintaxis de antes de la 1.13 (execute @a ~ ~ ~), falta el run antes del comando final o hay una errata en un nombre. Los nombres de bloques, objetos y entidades van en inglés y en minúsculas (minecraft:diamond_block); el error dice en qué punto se ha perdido, marcado con <--[AQUÍ] (en la consola del servidor, <--[HERE]).

No pasa nada y no da error: la condición no se cumple. Quita el run y lo que va detrás y lanza el resto: te dirá «Test passed» o «Test failed». Lo más común: el if block mira el bloque equivocado (~ ~ ~ es el bloque de los pies, no el de debajo) o falta el at @s.

El comando funciona en la consola pero no en un bloque de comandos: los bloques de comandos están apagados en tu servidor (abajo, cómo se encienden), o @s no es nadie, porque en un bloque de comandos @s es el propio bloque y no un jugador: usa as @p o as @a.

Un comando de un plugin tras run: en Paper suele funcionar, pero muchos plugins esperan que lo escriba un jugador o la consola y no saben qué hacer con otro origen. Si da error, prueba con el comando normal del juego o con lo que ofrezca el plugin.

En NapNodes

Los servidores de Minecraft se entregan en Paper en la última versión, así que todo lo de esta guía funciona tal cual. Para probar un /execute, escríbelo en la «Consola» del servidor en el panel, sin la barra: recuerda que desde ahí el sitio es el punto de aparición del mundo, así que casi siempre querrás un as @a at @s delante. Para usarlo desde el juego, hazte op escribiendo op TuNombre en la misma «Consola».

Los bloques de comandos se encienden en «Configuración» → «Reglas del juego» → «Comandos y mensajes» → «Los bloques de comandos funcionan», con el servidor encendido y a la vez en el mundo, el Nether y el End. Desde la 1.21.9 ya no se encienden en server.properties. Si prefieres funciones, un datapack se sube en «Archivos» a la carpeta datapacks del mundo (la guía de datapacks lo explica).

En «Rendimiento» del panel ves las gráficas de procesador del servidor: si suben al poner un bloque de comandos de repetir, revisa sus selectores. La RAM y el procesador de tu plan son solo tuyos, sin sobreventa, así que lo que ves ahí es lo que gasta tu mundo y no el de otro cliente.

Preguntas frecuentes

¿Cómo se usa el comando /execute en Minecraft?

Se encadenan piezas y se termina en run con el comando de verdad: execute as @a at @s run summon minecraft:lightning_bolt hace que cada jugador, desde donde está, invoque un rayo. as cambia quién lo ejecuta, at desde dónde, e if o unless ponen condiciones.

¿Qué diferencia hay entre as y at en /execute?

as cambia quién ejecuta el comando (@s pasa a ser esa entidad) y at cambia el sitio, la dimensión y hacia dónde se mira. Para que algo pase en la posición de cada jugador hacen falta los dos: execute as @a at @s run …

¿Cómo se escribe el antiguo execute detect?

Con if block: execute @a ~ ~ ~ detect ~ ~-1 ~ diamond_block 0 say hola es hoy execute as @a at @s if block ~ ~-1 ~ minecraft:diamond_block run say hola. La forma vieja dejó de funcionar en la 1.13.

¿Cómo detecto qué lleva un jugador en la mano?

Desde la 1.20.5, con if items: execute as @a if items entity @s weapon.mainhand minecraft:diamond_sword run … se cumple con quien lleva una espada de diamante.

¿Existe /execute en Bedrock?

Sí, con la misma forma (as, at, if, run) desde la 1.19.50, pero con menos piezas: no tiene store ni las condiciones de datos de Java.

¿Te ha servido esta guía?

¿Lo montamos?

Servidores de Minecraft desde 6 € al mes, sin sobreventa: tu RAM es solo tuya. Y si quieres empezar sin pagar, tienes un servidor de Minecraft gratis, sin tarjeta.

¿Tu servidor no aparece en el juego? Compruébalo en un segundo con «¿Está encendido mi servidor?»: jugadores, versión y MOTD, gratis. ¿Necesitas el UUID de un jugador para la whitelist o los permisos? Búscalo aquí. ¿Vas a dar objetos encantados? Crea el comando con el generador de /give.

Herramienta gratis: Generador de /tellraw y /title. Mensajes con colores, negrita y clic en el chat o en el centro de la pantalla: el comando /tellraw o /title listo para copiar.

Sigue leyendo

Todas las guías de Minecraft, ordenadas →