V této lekci si ukážeme příkaz, který má mnoho využití a při programování jej budeme používat často. Je to příkaz execute.

Příkaz execute

Příkaz execute má spoustu možností a využití. Vysvětlíme si to postupně na konkrétních příkladech, protože je zbytečné popisovat hned všechny možnosti, kterých je mnoho.

Jedna z možností příkazu je otestování, zda je na určitých souřadnicích konkrétní blok.

/execute if block <pozice> <blok>

Pokud si příkaz přeložíme doslovně, znamená to “vykonat pokud blok…“. To znamená, že můžeme něco provést, pokud na určitých souřadnicích bude námi určený blok.

Souřadnice můžeme použít jak relativní (~ ~ ~), tak konkrétní čísla a můžeme použít i stejný způsob zadávání, jak známe z příkazu /setblock. To znamená, že si na nějaké místo položíme blok, na ten se podíváme a poté příkaz budeme zadávat do chatu a souřadnice se nám automaticky nabídnou.

Po spuštění příkazu se nám zobrazí výsledek - Zkouška proběhla úspěšně nebo Zkouška se nezdařila. Toho můžeme dále využít a na výsledek reagovat. Když dáme k příkazovému bloku redstonový porovnávač (comparator), tak v případě úspěšné zkoušky získáme redstone signál. Ten můžeme dále využít.

Upozornění

Pokud toto použijeme u impulsního příkazového bloku, tak se výsledek zkoušky aktualizuje pouze při spuštění redstone.

Příklad

Zkuste si postavit jednoduchý “přístroj” na testování bloku. Budete mít určené místo, kam hráč položí blok, který poté otestujete pomocí příkazu. Pokud na tomto místě bude správný blok, rozsvítí se lampa, jinak zůstane zhasnutá.

zkouška se nezdařilazkouška proběhla úspěšně

Řešení

Do příkazového bloku zadáme příkaz /execute if block se souřadnicemi bloku, který chceme testovat a id bloku, který tam chceme mít. Dále příkazový blok nastavíme na opakovací a vždy aktivní a k lampě přivedeme pomocí porovnávače signál.

Využití relativních souřadnic

Můžeme si také vytvořit jednoduchý “přístroj” na testování bloku nad příkazovým blokem. Pokud bude blok odpovídat bloku, který testujeme, rozsvítí se nám lampa.

Použijeme příkaz /execute if block ~ ~1 ~ id. Vedle příkazového bloku bude porovnávač (comparator), který povede do lampy.