V této lekci si ukážeme, jak pomocí příkazu execute vytvořit výbušný šíp.
Získání informací o entitě
Pomocí příkazu data si můžeme zjistit, jaké informace o šípu máme dostupné
/data get entity <cíl>
- entita musí být jen jedna, proto nemůžeme použít jen samostatné
@e, ale entitu musíme upřesnit typem, počtem,…- např. pro získání informací o nejbližším šípu můžeme použít
@e[type=minecraft:arrow, limit=1] - výsledek vždy musíme omezit na 1 entitu, proto vždy používáme
limit=1
- např. pro získání informací o nejbližším šípu můžeme použít
Po spuštění příkazu se nám vypíše spoustu informací. Jsou to veškeré informace, které tato entita (šíp) obsahuje. Všechny tyto informace můžeme dále využít pro určení konkrétní entity. Tyto informace se označují jako nbt data.

Pro náš příklad nás bude zajímat, jestli je šíp v něčem zabodnutý. To nám říká vlastnost inGround.
- je typu pravdivostní hodnota (
boolean) - má hodnotu 0 - nepravda nebo 1 - pravda
Výběr entity pomocí nbt dat
Tyto informace můžeme dále použit k výběru entity a to tak, že je uvedeme jako hodnotu pro značku nbt - např:
@e[nbt={vlastnost:hodnota}
- dvojici uvádíme stejně, jak je uvedená ve výpisu vlastností - tedy i s typem hodnoty
Pokud tedy chceme vybrat šíp zabodnutý v zemi, použijeme označení
@e[type=minecraft:arrow, nbt= {inGround:1b}
Vytvoření výbuchu
Dále budeme potřebovat vytvořit výbuch. Nejjednodušší způsob je spawnout aktivované TNT. Na to můžeme použít příkaz /summon
Příkaz summon
/summon <entita> [<pozice>] [<nbt>]
entita- ID entity, kterou chceme spawnout
pozice- volitelné
- pozice, kde chceme entitu spawnout
nbtnbtdata, které má mít entita nastavené
Například pro aktivované TNT můžeme použít příkaz /summon minecraft:tnt
Pokud bychom chtěli zároveň nastavit i délku výbuchu (fuse), tak už musíme uvést i souřadnice a nbt data
/summon minecraft:tnt ~ ~ ~ {fuse:20}
Příkaz kill
Poslední příkaz, který budeme potřebovat je příkaz /kill. Tento příkaz používáme na zničení (zabití) entity.
/kill [<cíl>]
cíl- entita, kterou chceme zničit
- pokud neuvedeme žádnou entitu, tak příkaz zabije hráče, který příkaz spustil
Příklad
Na samotné výbušný šíp budeme potřebovat 2 příkazy.
- příkaz pomocí kterého spawneme aktivované TNT na místě šípu, který je zapíchnutý v zemi (má vlastnost
inGrounds hodnotou1b) - příkaz, který zničí šíp zabodnutý v zemi
- Pokud bychom šíp nezničili, tak se budou TNT spawnovat dokud šíp nezmizí
Řešení
Použijeme 2 příkazové bloky:
Na detekci šípu v zemi a následné spawnutí TNT použijeme příkaz execute, pomocí kterého nastavíme spuštění příkazu na souřadnice všech šípů, které mají nbt s vlastností inGround a hodnotou 1b. Na souřadnicích těchto šípů spawneme aktivované TNT s dobou výbuchu 0.
/execute at @e[type=minecraft:arrow,nbt={inGround:1b}] run summon minecraft:tnt ~ ~ ~ {fuse:0}
- příkazový blok nastavíme na
opakovacía klidně můžeme použítvždy aktivní
Na zničení šípu použijeme příkaz kill, kde opět vybereme šíp s vlastností inGround a hodnotou 1b
/kill @e[type=minecraft:arrow,nbt={inGround:1b}]
- příkazový blok nastavíme na
řetězový,podmíněnýavždy aktivní- bude se tedy spouštět pouze pokud se úspěšně provede příkaz v prvním příkazovém bloku