Fill clock, command block hodiny – Command bloky s muniem #01

Rozhodl jsem se některé své nápady s command bloky přetvořit do formy videa a ukázat vám, jak „to funguje“. Nejlépe jak začít, je ukázat si vytvoření tzv. „fill clock“ – command block hodin, které běží 20× za sekundu.

Celý systém je založen na dvou command blocích, které se perou o to, jaký blok mezi nimi bude 🙂 . Jestli redstone blok nebo jakýkoliv jiný. Výhoda této metody je extrémní rychlost hodin a minimální dopad na lagy serveru. Zaměňují se pouze dva různé bloky, takže nedochází k updatu chunku ani světelných podmínek, což jsou největší „lagonoši“.

/fill <x1> <y1> <z1> <x2> <y2> <z2> <jmenoBloku> [dataValue/damage] [oldBlockHandling] [dataTag]
/fill ~ ~1 ~ ~5 ~1 ~ stone (spodní CB)
/fill ~ ~-1 ~ ~5 ~-1 ~ redstone_block (horní CB)

Pomalé command block hodiny

Někdy může být zbytečné příkazy spouštět 20× za sekundu (mohou lagovat server), proto je lepší sady příkazů delegovat na pomalejší hodiny a ty aktivovat podle potřeba.

K tomu potřebujeme entitu, na kterou budeme cílit – v našem případě stojan na brnění (Armor Stand), scoreboard a několik dalších příkazů.

Vytvoříme si scoreboard s obyčejným počítadlem…

/scoreboard objectives add counter dummy

… a stojan, který bude sloužit jako značka (marker).

/summon ArmorStand ~ ~ ~ {CustomName:fillhodiny,CustomNameVisible:1b,Marker:1b,NoGravity:1b}

Stojanu budeme každý tick přidávat hodnotu 1 do scoreboardu counter…

/scoreboard players add @e[type=ArmorStand,name=fillhodiny] counter 1

… a jakmile dosáhne hodnoty scoreboardu counter 100 (= 5 sekund), spawneme na jeho pozici redstone blok.

/execute @e[type=ArmorStand,score_counter_min=100,name=fillhodiny] ~ ~ ~ setblock ~ ~ ~ redstone_block

Tento RS blok může být jediný blok, nebo může být napojen na další command blok, tzn. na další hodiny, atd.

Tak.. to byla teorie a teď se mrkněte, jak to šlape v praxi 🙂 .