Shopping cart

Nessun prodotto nel carrello.

Il comando /execute in Minecraft è uno degli strumenti più potenti e importanti per chi vuole creare sistemi avanzati con Command Block, mappe Adventure, minigiochi, datapack, funzioni e automazioni. A differenza di comandi più semplici come /give, /kill o /tp, /execute non serve principalmente a compiere un’azione diretta: serve a cambiare il contesto in cui un altro comando viene eseguito.

Con /execute puoi dire al gioco: “esegui questo comando come ogni giocatore”, “eseguilo nella posizione di ogni zombie”, “eseguilo soltanto se esiste un blocco specifico”, “eseguilo cinque blocchi davanti agli occhi del giocatore”, “eseguilo nel Nether” oppure “eseguilo soltanto se una determinata condizione è vera”. È quindi il comando che collega selettori, coordinate relative, condizioni, rotazioni e dimensioni in un’unica struttura.

In questa guida vediamo come usare /execute in Minecraft con esempi pratici e progressivi. Partiremo da run, poi vedremo as, at, positioned, rotated, facing, anchored, in, if e unless, fino a costruire comandi complessi con più subcomandi. Per seguire al meglio ti consiglio di conoscere già i selettori @p, @a, @e e @s e le coordinate relative ~ e ^.

Che cos’è /execute

/execute costruisce un contesto di esecuzione. Il comando finale viene normalmente scritto dopo run.

Una forma concettuale molto semplice è:

/execute ... run comando

I puntini rappresentano uno o più subcomandi che cambiano chi esegue, dove viene eseguito, in quale direzione, in quale dimensione e a quali condizioni.

Il ruolo di run

run introduce il comando finale.

Esempio:

/execute as @p run say Ciao

La parte as @p cambia l’esecutore logico; run say Ciao esegue il comando finale.

Perché /execute è diverso da un comando normale

Con:

/say Ciao

il comando viene eseguito nel contesto attuale.

Con:

/execute as @a run say Ciao

il comando viene eseguito una volta per ogni giocatore selezionato, con ciascun giocatore come esecutore logico.

Il subcomando as

as cambia l’entità che esegue logicamente il comando.

/execute as @a run say Sono un giocatore

Il comando viene elaborato una volta per ogni giocatore.

as non cambia automaticamente la posizione

Questo è uno degli errori più comuni. as cambia chi, ma non necessariamente dove.

Se vuoi spostare l’origine sulla posizione dell’entità devi usare anche at.

Il subcomando at

at cambia la posizione di esecuzione usando la posizione dell’entità selezionata.

/execute at @p run setblock ~ ~-1 ~ gold_block

Il blocco viene piazzato sotto il giocatore selezionato.

as + at: la combinazione fondamentale

Uno schema molto comune è:

/execute as @a at @s run ...

Prima ogni giocatore diventa l’esecutore, poi l’origine viene spostata sulla posizione dell’esecutore corrente.

Questa combinazione è la base di tantissimi sistemi moderni.

Perché @s funziona bene dopo as

Dopo:

/execute as @a

@s rappresenta il giocatore corrente di quella iterazione.

Quindi:

/execute as @a at @s run setblock ~ ~-1 ~ stone

lavora sotto ogni giocatore.

Esempio: particella su ogni giocatore

/execute as @a at @s run particle minecraft:flame ~ ~1 ~

Il comando genera una particella sopra ogni giocatore.

Esempio: effetto a chi entra in una zona

Puoi selezionare giocatori in una distanza specifica e applicare un effetto soltanto a loro.

/execute as @a[distance=..5] run effect give @s minecraft:speed 2 0 true

La sintassi esatta dei filtri può variare tra Java e Bedrock, quindi verifica sempre l’edizione utilizzata.

Il subcomando positioned

positioned cambia la posizione di esecuzione usando coordinate.

/execute positioned 100 70 -20 run setblock ~ ~ ~ diamond_block

Il comando finale considera 100 70 -20 come nuova origine.

positioned con coordinate relative

/execute positioned ~10 ~ ~ run setblock ~ ~ ~ gold_block

Prima sposti l’origine di 10 blocchi su X, poi esegui il comando lì.

positioned as

In Java moderna puoi anche spostare la posizione su un’entità con forme specifiche del comando; in generale, il concetto è lo stesso di at, ma at può modificare anche altri aspetti del contesto oltre alla posizione.

Il subcomando rotated

rotated cambia la rotazione del contesto.

È utile quando lavori con coordinate locali ^, perché queste dipendono dalla direzione.

Coordinate locali e rotated

Se imposti una rotazione precisa, un punto come:

^ ^ ^5

viene calcolato in base alla nuova rotazione.

rotated as

Puoi fare in modo che il contesto erediti la rotazione di un’entità, così il comando segue dove guarda il target.

Il subcomando facing

facing orienta il contesto verso una posizione o un’entità.

È utile per effetti direzionali, teleport e sistemi che devono “guardare” verso un target.

facing position

Puoi orientare il comando verso coordinate specifiche.

facing entity

Puoi orientarlo verso un’entità selezionata. In Java puoi anche scegliere anchor come eyes o feet in alcune forme del comando.

Il subcomando anchored

anchored cambia il punto di riferimento verticale dell’esecutore, tipicamente tra piedi e occhi.

Questo è particolarmente utile con coordinate locali.

Esempio dagli occhi

/execute as @a at @s anchored eyes run particle minecraft:flame ^ ^ ^3

La particella compare davanti agli occhi del giocatore.

Perché anchored eyes è utile

Per raycast, laser, particelle e abilità visive, partire dagli occhi è più naturale che partire dai piedi.

Il subcomando in

in cambia la dimensione in cui viene eseguito il comando.

In Java puoi usare dimensioni come Overworld, Nether ed End nel contesto di /execute.

Esempio concettuale nel Nether

/execute in minecraft:the_nether run setblock 0 80 0 gold_block

Il comando viene eseguito nel Nether.

Coordinate e cambio dimensione

Quando cambi dimensione devi prestare attenzione al modo in cui il gioco interpreta la posizione e ai fattori di scala applicabili tra dimensioni in determinati contesti.

Il subcomando if

if permette di eseguire il comando finale soltanto se una condizione è vera.

È uno degli strumenti più importanti di /execute.

if entity

Controlla se esiste almeno un’entità che corrisponde al selettore.

/execute if entity @a run say C'è almeno un giocatore

if block

Controlla un blocco in una posizione.

/execute if block ~ ~-1 ~ minecraft:diamond_block run say Diamante rilevato

È perfetto per puzzle e trigger.

if blocks

In Java puoi confrontare aree di blocchi per verificare se due regioni corrispondono secondo i criteri supportati.

È utile per puzzle di costruzione.

if score

Con scoreboard puoi verificare punteggi e confrontare valori.

Questa è una delle tecniche principali per minigiochi, timer e progressione.

if data

In Java, /execute if data permette di verificare la presenza di dati in entità, blocchi o storage, a seconda della sintassi supportata.

È una funzione avanzata.

Il subcomando unless

unless è l’opposto logico di if: continua soltanto se la condizione NON è vera.

/execute unless entity @e[type=minecraft:zombie] run say Nessuno zombie presente

if e unless nei Command Block

Questi subcomandi riducono la necessità di costruire circuiti redstone complessi per verifiche logiche.

Puoi usare un Repeat Command Block che controlla una condizione e poi esegue un’azione.

Esempio: aprire una porta se il giocatore è vicino

Un controllo può verificare la presenza di un giocatore in un raggio e, in caso positivo, eseguire /setblock o /fill per modificare il passaggio.

Esempio: chiudere quando nessuno è vicino

Con unless entity puoi eseguire il comando inverso quando la zona è vuota.

Come concatenare più subcomandi

La vera potenza arriva quando scrivi più subcomandi prima di run.

/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s minecraft:speed 2 1 true

Il flusso concettuale è:

  1. per ogni giocatore;
  2. spostati sulla sua posizione;
  3. controlla il blocco sotto;
  4. se è gold block;
  5. applica Speed a quel giocatore.

Leggere /execute da sinistra a destra

Il modo più semplice per capire un comando complesso è leggerlo come una frase.

Ogni subcomando modifica il contesto per ciò che viene dopo.

L’ordine conta

as seguito da at @s è diverso da combinazioni che usano target diversi.

Quando costruisci comandi lunghi, controlla sempre l’ordine.

Esempio: blocco sotto ogni zombie

/execute as @e[type=minecraft:zombie] at @s run setblock ~ ~-1 ~ redstone_block

Il comando viene eseguito una volta per ogni zombie, nella sua posizione.

Esempio: eliminare zombie solo in una zona

Usa un selettore con distanza o volume e poi /kill @s.

È molto più sicuro di /kill @e.

Esempio: teleport direzionale

/execute as @p at @s run tp @s ^ ^ ^5

Il giocatore viene spostato cinque blocchi in avanti rispetto alla propria direzione.

Ricorda che le collisioni possono rendere questa tecnica pericolosa in spazi chiusi.

Esempio: particella davanti al giocatore

/execute as @a at @s anchored eyes run particle minecraft:flame ^ ^ ^2

È un ottimo test per capire coordinate locali e anchor.

Esempio: suono nella posizione del target

Con at puoi eseguire suoni, particelle o altri effetti esattamente dove si trova l’entità.

/execute con /give

Puoi dare oggetti soltanto a giocatori che soddisfano condizioni particolari.

Esempio concettuale: se il punteggio supera una soglia, run give @s ....

/execute con /effect

È uno degli usi più comuni per zone di buff o debuff.

Un Repeat Command Block controlla posizione e condizioni, poi applica l’effetto soltanto ai target giusti.

/execute con /enchant

Puoi selezionare giocatori in un contesto specifico e poi tentare di incantare l’oggetto tenuto, rispettando i limiti di /enchant.

/execute con /kill

È utile per rendere /kill più selettivo.

Per esempio puoi colpire soltanto entità in una zona, con un tag o in una condizione.

/execute con /summon

Puoi evocare entità nella posizione di altre entità o davanti alla loro visuale.

Attenzione ai Repeat: potresti generare enormi quantità di mob.

/execute con /setblock

Puoi modificare blocchi rispetto al target.

/execute at @p run setblock ~ ~-1 ~ diamond_block

/execute con /fill

Puoi costruire o cancellare volumi intorno a un’entità o a una posizione dinamica.

È molto potente e potenzialmente distruttivo.

/execute con /clone

Puoi copiare strutture in relazione a un’origine dinamica. Controlla attentamente sovrapposizioni e coordinate.

/execute con /spawnpoint

Puoi impostare checkpoint soltanto per giocatori che entrano in una zona o soddisfano un requisito.

/execute con /setworldspawn

Lo spawn globale è normalmente una proprietà amministrativa e non necessita di logica per-player, ma /execute può aiutare a calcolare posizioni dinamiche quando serve.

/execute nei Command Block

È probabilmente l’ambiente in cui il comando viene usato più spesso dai giocatori che costruiscono mappe.

Un Command Block fornisce l’automazione; /execute decide contesto e condizione.

/execute nei Chain Command Block

Una catena può usare un primo controllo con /execute if e poi blocchi Conditional per le azioni successive.

Consulta la guida ai Command Block a catena.

Quando usare Conditional e quando /execute if

Conditional dipende dal successo del blocco precedente nella catena.

/execute if esprime direttamente la condizione nel comando.

Puoi anche combinarli.

/execute e tag

I tag sono ottimi per memorizzare stati semplici.

Puoi eseguire comandi soltanto su entità con o senza un certo tag.

/execute e scoreboard

Gli scoreboard rendono possibile una vera logica numerica: timer, contatori, livelli, stati, punteggi e confronti.

Esempio concettuale di timer

Un Repeat incrementa un valore; /execute if score verifica quando raggiunge una soglia; poi run avvia l’azione.

/execute e minigiochi

Puoi gestire:

  • zone;
  • squadre;
  • punteggi;
  • timer;
  • condizioni di vittoria;
  • respawn;
  • kit;
  • effetti;
  • reset.

/execute e mappe Adventure

Puoi creare trigger invisibili basati sulla posizione del giocatore, sul blocco sotto i piedi, sulla presenza di entità o sullo stato di uno scoreboard.

Rilevare un blocco sotto il giocatore

/execute as @a at @s if block ~ ~-1 ~ minecraft:emerald_block run say Checkpoint

Questo pattern è estremamente utile.

Rilevare una zona

Puoi usare selettori con coordinate, distanza o volume. Le opzioni cambiano tra Java e Bedrock, ma il principio è filtrare il target prima di eseguire.

Rilevare un’entità

/execute if entity @e[type=minecraft:zombie,distance=..10] run say Zombie vicino

Rilevare l’assenza di un’entità

/execute unless entity @e[type=minecraft:zombie,distance=..10] run say Zona pulita

Rilevare il completamento di una boss fight

Un Repeat può controllare unless entity per il boss. Quando non esiste più, avvia ricompense e apertura dell’uscita.

Evitare ricompense infinite

Dopo l’azione, aggiungi un tag o modifica uno scoreboard per impedire al controllo di avere successo di nuovo.

/execute e coordinate relative ~

La tilde usa l’origine attuale del contesto.

Con at @s, ~ diventa relativo all’entità corrente.

/execute e coordinate locali ^

Il caret usa posizione e rotazione locali.

È perfetto per azioni “davanti al giocatore”.

Perché ^ senza contesto può sorprendere

Se il comando parte da un Command Block, la rotazione locale può non rappresentare la visuale di un giocatore.

Usa as, at, rotated o facing.

Creare un semplice dash

/execute as @p at @s run tp @s ^ ^ ^3

Testalo in un ambiente sicuro.

Creare un effetto frontale

Con più coordinate locali puoi generare una linea di particelle davanti al giocatore.

Raycast

Un raycast è una sequenza di controlli lungo una direzione. /execute positioned ^ ^ ^... e funzioni possono creare sistemi che avanzano lungo la visuale.

Raycast e Command Block

È possibile realizzare forme semplici, ma sistemi sofisticati sono generalmente più gestibili con funzioni.

/execute store

In Java, /execute store permette di memorizzare risultati o valori di successo in scoreboard, dati o storage secondo le forme supportate.

È uno strumento molto avanzato per trasformare l’esito dei comandi in dati riutilizzabili.

store result e store success

result memorizza un valore numerico restituito dal comando, quando disponibile.

success memorizza tipicamente un valore legato al successo/fallimento dell’operazione.

Perché store è potente

Permette di collegare comandi che non comunicano direttamente, trasformando un risultato in scoreboard o dati utilizzabili da altri sistemi.

/execute on

Le Java moderne includono anche forme avanzate che possono cambiare il contesto in relazione a entità collegate, a seconda della versione e della relazione supportata. Sono strumenti da verificare nella versione esatta usata.

Differenze Java e Bedrock

Bedrock ha adottato una sintassi moderna di /execute molto più vicina al modello a subcomandi: esecutore, posizione, rotazione, condizioni e comando finale.

Tuttavia Java e Bedrock non sono identiche. Filtri dei selettori, nomi di argomenti, supporto di specifici subcomandi e dettagli di sintassi possono differire.

Regola pratica per la compatibilità

Se stai costruendo una mappa per una sola edizione, scrivi e testa direttamente lì.

Se vuoi documentare un concetto generale, separa sempre gli esempi specifici per Java e Bedrock quando la sintassi diverge.

Bedrock: nuova sintassi execute

Le versioni Bedrock moderne usano una struttura concatenabile con subcomandi e run, molto più potente rispetto alla vecchia forma storica.

Java: struttura modulare

Java usa da anni il modello a subcomandi concatenabili. Questa struttura permette di costruire contesti molto complessi.

Errore: /execute as non sposta il comando

Soluzione: aggiungi at @s quando vuoi eseguire nella posizione dell’entità.

Errore: @s non è il giocatore

Controlla chi è l’esecutore corrente. In un Command Block semplice, @s non equivale automaticamente al giocatore vicino.

Errore: coordinate ~ partono dal Command Block

Se non hai cambiato posizione con at o positioned, l’origine resta quella del blocco.

Errore: ^ va nella direzione sbagliata

Controlla rotazione e anchor. Il contesto potrebbe non avere la direzione che pensi.

Errore: if entity trova troppe entità

Restringi il selettore con tipo, distanza, tag o altri criteri.

Errore: comando ripetuto ogni tick

Se usi Repeat, una condizione vera può eseguire run continuamente. Usa tag, scoreboard o un trigger una tantum.

Errore: catena troppo pesante

Riduci selettori globali, operazioni su blocchi e controlli ridondanti.

Come fare debug

  1. Testa il comando finale senza /execute.
  2. Aggiungi un subcomando alla volta.
  3. Prova as.
  4. Prova at.
  5. Aggiungi coordinate.
  6. Aggiungi condizioni solo alla fine.

Usare say per debug

Sostituisci temporaneamente il comando finale con:

run say TEST

Se il messaggio appare, sai che il contesto/condizione ha raggiunto run.

Usare particelle per debug

Le particelle sono perfette per vedere la posizione reale del contesto.

Usare setblock per debug

Piazzare un blocco temporaneo può mostrarti l’origine, ma evita materiali distruttivi.

Ottimizzare /execute

  1. Filtra il prima possibile.
  2. Evita @e senza limiti.
  3. Usa tag per gruppi noti.
  4. Non ripetere lo stesso controllo in più blocchi se puoi memorizzare lo stato.
  5. Evita /fill continui.
  6. Usa scoreboard per timer invece di logiche ridondanti.

Pattern: as + at + run

/execute as TARGET at @s run COMANDO

È probabilmente il pattern più importante da memorizzare.

Pattern: if entity + run

/execute if entity TARGET run COMANDO

Perfetto per presenza/assenza.

Pattern: as + at + if block + run

/execute as TARGET at @s if block ~ ~-1 ~ BLOCCO run COMANDO

Perfetto per trigger sul pavimento.

Pattern: anchored eyes + coordinate locali

/execute as TARGET at @s anchored eyes run COMANDO ^ ^ ^DISTANZA

Perfetto per azioni direzionali.

Pattern: in dimension + positioned

/execute in DIMENSION positioned X Y Z run COMANDO

Perfetto per azioni in un altro mondo/dimensione.

/execute e sicurezza

Un comando complesso può colpire molti target e grandi aree. Prima di combinarlo con /kill, /fill, /clone o /summon massivi, fai test controllati.

/execute e mappe pubbliche

Se la mappa verrà usata da altri, evita dipendenze fragili da coordinate assolute quando puoi usare tag, selettori e contesti dinamici.

/execute e modularità

La combinazione di as, at e coordinate relative permette di copiare sistemi in più zone senza riscriverli completamente.

Quando usare /execute invece della redstone

Usa /execute quando la condizione dipende da entità, posizione, dati, scoreboard, dimensione o rotazione.

Usa redstone quando un sensore o timing fisico è più semplice e leggibile.

Quando usare Chain Command Block

Quando devi eseguire più comandi in sequenza, una catena è spesso più chiara di un singolo comando enorme.

Quando usare funzioni

Quando il sistema diventa molto lungo, le funzioni possono essere più facili da mantenere rispetto a decine di Command Block.

Tabella dei subcomandi principali

Subcomando Scopo
as Cambia esecutore
at Cambia posizione/contesto usando un’entità
positioned Cambia posizione
rotated Cambia rotazione
facing Orienta verso posizione/entità
anchored Cambia anchor piedi/occhi
in Cambia dimensione
if Continua se vero
unless Continua se falso
run Esegue il comando finale

Checklist per un /execute corretto

  1. Chi deve eseguire?
  2. Dove deve eseguire?
  3. Serve la rotazione del target?
  4. Serve un anchor agli occhi?
  5. Serve un’altra dimensione?
  6. Qual è la condizione?
  7. Il selettore è abbastanza specifico?
  8. Il comando finale funziona da solo?
  9. Il sistema può ripetersi?
  10. È sicuro se viene eseguito più volte?

FAQ su /execute

A cosa serve /execute?

Serve a cambiare contesto e condizioni prima di eseguire un altro comando.

Che differenza c’è tra as e at?

as cambia chi esegue; at cambia dove viene eseguito usando la posizione di un’entità.

Perché si usa as @a at @s?

Per eseguire il comando una volta per ogni giocatore e nella posizione di ciascun giocatore.

Che cos’è run?

Introduce il comando finale.

Come controllo se un’entità esiste?

Con una forma come execute if entity ... run ....

Come controllo un blocco?

Con if block e le coordinate desiderate.

Come eseguo davanti al giocatore?

Crea il contesto del giocatore e usa coordinate locali ^.

Posso usare /execute in Bedrock?

Sì. Le versioni moderne di Bedrock supportano una sintassi avanzata a subcomandi, anche se alcuni dettagli differiscono da Java.

Posso usarlo in un Command Block?

Sì, ed è uno degli usi principali.

Posso combinare più condizioni?

Sì, concatenando subcomandi compatibili prima di run.

Conclusione

Il comando /execute in Minecraft è il centro della programmazione avanzata con comandi. as decide chi, at decide dove, positioned sposta l’origine, rotated e facing controllano la direzione, in cambia dimensione e if/unless trasformano il comando in una vera struttura condizionale. Infine run esegue l’azione.

Combinando /execute con selettori, coordinate ~ e ^, Command Block e catene puoi creare sistemi dinamici molto più potenti della redstone tradizionale da sola. Se stai costruendo una mappa o un minigioco, il metodo migliore è procedere per piccoli passi: prima fai funzionare il comando finale, poi aggiungi esecutore, posizione e condizioni una alla volta.

Leave a Reply