Discord
Wiki

Command Blocki w Minecraft

Command block to specjalny blok, który wykonuje komendy bez wpisywania ich w czat. Nie zdobedziesz go w survivalu -- dostępny jest wylacznie przez komende /give lub tryb kreatywny z wlaczonymi cheatami. Trzy typy command blockow (Impulse, Chain, Repeat) pozwalaja budować od prostych teleporterow po całkowicie zautomatyzowane mini-gry. Ten przewodnik ogarnia wszystkie typy, tryby i ustawienia, a potem przechodzi do praktycznych projektow.

1. Impulse Command Block (pomarańczowy)

Impulse Command Block ma pomarańczowy kolor i jest domyslnym typem, który dostajesz po wpisaniu /give @s command_block. Wykonuje komende dokładnie raz po otrzymaniu sygnalu redstone (lub raz po ustawieniu, jeśli jest w trybie Always Active).

Typowe zastosowania Impulse Command Blocka:

  • Jednorazowe akcje -- teleportacja gracza, zmiana pory dnia, nadanie przedmiotu. Naciskasz przycisk, komenda sie wykonuje, gotowe.
  • Startery lancuchow -- Impulse Block może byc pierwszym blokiem w lancuchu, który uruchamia sekwencje Chain Command Blockow (o nich za chwile).
  • Systemy z przyciskami i plytkami naciskowymi -- gracz wchodzi na plytke, komenda sie odpala. Prosty mechanizm, duże możliwości.

Przyklad: jednorazowa teleportacja

/tp @p 100 65 200

Po podlaczeniu przycisku do Impulse Command Blocka, najbliższy gracz zostanie przeniesiony na koordynaty X:100, Y:65, Z:200.

Wskazówka: Impulse Block z plytka naciskowa (Pressure Plate) to najprostszy sposob na zrobienie teleportera. Postaw command block pod ziemia, plytke na powierzchni i gotowe -- gracz wchodzi, zostaje przeniesiony. Więcej o tym w naszym dziale projektow.

2. Chain Command Block (zielony)

Chain Command Block ma zielony kolor i wykonuje komende tylko wtedy, gdy command block wskazujacy na niego (strzalka na teksturze) zakonczyl swoje zadanie. Nie potrzebuje osobnego sygnalu redstone -- wystarczy, ze poprzedni blok w lancuchu sie wykonal.

Chain Block to klucz do tworzenia sekwencji komend. Jeden Impulse Block uruchamia lancuch, a Chain Blocki wykonują sie kolejno, jeden po drugim, w ramach tego samego ticku gry (0,05 sekundy). Możesz ustawic ich dowolna ilość w rzedzie.

Zasady działania Chain Command Blockow:

  • Kierunek ma znaczenie -- strzalka na teksturze Chain Blocka musi wskazywac kierunek, w którym lancuch sie kontynuuje. Blok A strzalka w prawo, Blok B obok z prawej strzalka w prawo, Blok C dalej w prawo -- to poprawny lancuch.
  • Musisz ustawic Always Active -- Chain Blocki powinny byc w trybie Always Active, zeby reagowaly na poprzedni blok. W trybie Needs Redstone każdy z nich potrzebowalby osobnego sygnalu, co mija sie z celem.
  • Pierwszy blok nie może byc Chain -- lancuch musi zaczynac sie od Impulse lub Repeat Command Blocka.

Przyklad: lancuch powitania gracza

Blok 1 (Impulse): /title @p title "Witaj!"

Blok 2 (Chain): /title @p subtitle "Masz 5 minut na zadanie"

Blok 3 (Chain): /effect give @p speed 300 1

Jedno nacisniecie przycisku -- gracz widzi tytul, podtytul i dostaje efekt szybkości. Trzy komendy, jeden sygnal.

Dlaczego Chain, a nie trzy Impulse Blocki?

Możesz podlaczyc redstone do trzech oddzielnych Impulse Blockow -- tez zadzialaja. Problem polega na tym, ze kolejnosc wykonania nie jest gwarantowana. Chain Blocki wykonują sie zawsze w kolejnosci lancucha, co jest kluczowe, gdy komenda nr 2 zalezy od wyniku komendy nr 1. Poza tym lancuch jest czystszy i łatwiejszy do debugowania. Więcej o skladni komend znajdziesz w naszej encyklopedii komend.

3. Repeat Command Block (fioletowy)

Repeat Command Block ma fioletowy kolor i wykonuje komende 20 razy na sekunde (raz na tick) tak dlugo, jak otrzymuje sygnal redstone (lub cały czas, jeśli jest w trybie Always Active). To najpotezniejszy typ command blocka, ale tez najlatwiej nim cos zepsuc.

Zastosowania Repeat Command Blocka:

  • Ciagle efekty -- utrzymywanie efektu na graczu, sprawdzanie warunkow, aktualizowanie scoreboardu. Repeat Block robi to non-stop.
  • Detekcja gracza -- sprawdzanie, czy gracz wszedl w konkretny obszar, czy ma dany przedmiot, czy osiagnal wynik. Działa jak czujnik, który skanuje 20 razy na sekunde.
  • Systemy gry -- timery, odliczanie, dynamiczne bariery, strefy PVP. Wszystko, co wymaga ciaglego monitorowania świata.

Przyklad: strefa leczenia

/effect give @a[x=100,y=65,z=200,distance=..5] regeneration 1 2 true

Repeat Block z ta komenda daje regeneracje kazdemu graczowi w promieniu 5 bloków od punktu 100, 65, 200. Efekt odswierza sie co tick, wiec gracz jest leczony, dopoki stoi w strefie.

Wskazówka: Repeat Block z trybem Always Active zaczyna dzialac natychmiast po postawieniu i nie da sie go wyłączyć przyciskiem. Jeśli chcesz miec kontrole nad tym, kiedy działa, uzywaj trybu Needs Redstone z dzwignia (Lever). Przerzucasz dzwignie -- działa. Przerzucasz z powrotem -- stop. Więcej o interakcji command blockow z redstone'em znajdziesz w dedykowanym poradniku.

4. Tryb warunkowy (Conditional)

Każdy command block -- niezaleznie od typu -- może byc ustawiony jako Conditional lub Unconditional. Przelaczasz to prawym przyciskiem myszy w interfejsie bloku.

Unconditional (domyslny) -- blok wykonuje komende zawsze, gdy dostanie sygnal (lub gdy przyjdzie jego kolej w lancuchu).

Conditional -- blok wykonuje komende tylko wtedy, gdy command block za nim (ten, który na niego wskazuje) zakonczyl sie sukcesem. To odpowiednik instrukcji "if" w programowaniu.

Sukces komendy zalezy od komendy samej w sobie. Na przyklad /testfor @a[tag=vip] kończy sie sukcesem, jeśli w grze jest co najmniej jeden gracz z tagiem "vip", a porazka, jeśli takiego gracza nie ma. Chain Block z trybem Conditional po nim wykona sie tylko wtedy, gdy VIP jest online.

Przyklad: VIP-owski powitanie

Blok 1 (Repeat, Unconditional): /execute if entity @a[tag=vip,x=0,y=65,z=0,distance=..3]

Blok 2 (Chain, Conditional): /title @a[tag=vip,x=0,y=65,z=0,distance=..3] actionbar "Witaj, VIP!"

Pierwszy blok sprawdza, czy VIP jest w zasiegu. Jeśli tak (sukces), drugi blok wyswietla mu wiadomosc. Jeśli nie ma VIP-a, drugi blok sie nie wykonuje. Zero błędu, zero spamu w konsoli.

Kiedy używać Conditional?

Uzywaj Conditional zawsze, gdy jedna komenda zalezy od wyniku innej. Klasyczne przypadki: sprawdzenie, czy gracz ma przedmiot, zanim dostanie nagrode; sprawdzenie, czy boss został pokonany, zanim otworza sie drzwi; sprawdzenie, czy timer dobiegl konca, zanim zakonczy sie runda. Bez tego trybu musisz budować skomplikowane obwody redstone, zeby osiagnac ten sam efekt.

5. Sygnaly redstone -- Needs Redstone vs Always Active

Drugie ustawienie w interfejsie command blocka dotyczy źródła sygnalu:

Needs Redstone (domyslny) -- blok wymaga sygnalu redstone, zeby sie uruchomic. Przycisk, dzwignia, plytka naciskowa, obwod redstone -- cokolwiek, co generuje sygnal. Impulse Block wykona sie raz na sygnal, Repeat Block bedzie sie powtarzal, dopoki sygnal trwa.

Always Active -- blok nie potrzebuje redstone'a. Impulse Block wykona sie natychmiast po zamknieciu interfejsu. Repeat Block zacznie powtarzac komende od razu i nie przestanie. Chain Block bedzie czekal na swoja kolej w lancuchu bez dodatkowego zasilania.

Dobor trybu zalezy od zastosowania:

  • Teleporter z przyciskiem -- Impulse + Needs Redstone. Gracz naciska, teleportuje sie.
  • Lancuch komend -- pierwszy blok Impulse/Repeat z wlasnym trybem, Chain Blocki na Always Active.
  • Ciagle monitorowanie -- Repeat + Always Active. Sprawdzanie warunkow non-stop.
  • Wlaczalny system -- Repeat + Needs Redstone + dzwignia. Masz kontrole nad tym, kiedy system pracuje.
Wskazówka: W mapach przygodowych i mini-grach zostawiaj systemy na Needs Redstone z dzwignia. Dzięki temu możesz wyłączyć cały system, kiedy go debugujesz, zamiast wyciagac command blocki. Oszczedza nerwy przy zlozonych konstrukcjach. Więcej o redstone w architekturze znajdziesz w redstone w budowlach.

6. Lancuchy command blockow

Lancuch (chain) to seria command blockow polaczonych kierunkiem -- strzalka każdego bloku wskazuje na następny w kolejnosci. Jeden sygnal na poczatku lancucha uruchamia cała sekwencje w jednym ticku (0,05 sekundy). Gracz nie zauwazy opoznienia między komendami.

Budowa lancucha krok po kroku

  1. Postaw Impulse Command Block (lub Repeat, jeśli chcesz ciagle powtarzanie) -- to starter lancucha. Ustaw tryb Needs Redstone i podlacz przycisk.
  2. Postaw Chain Command Block obok startera -- strzalka Chain Blocka musi wskazywac na następny blok (czyli "od startera w dal"). Ustaw tryb Always Active.
  3. Postaw kolejne Chain Blocki w rzedzie, każdy z Always Active. Strzalki musza tworzyć ciag -- jeśli jeden blok wskazuje w prawo, następny musi byc po prawej.
  4. Wpisz komendy w każdy blok po kolei. Pamietaj: kolejnosc wykonania = kolejnosc w lancuchu.
  5. Nacisij przycisk. Cały lancuch wykona sie w jednym ticku.
Maksymalna długość lancucha

W Java Edition domyslny limit to 65 536 command blockow w jednym lancuchu (ustawienie maxCommandChainLength w gamerules). W Bedrock Edition limit wynosi 10 000. W praktyce lancuchy dluzsze niz 50-100 bloków sa rzadkoscia -- jeśli potrzebujesz więcej, prawdopodobnie lepiej użyć data packow z funkcjami (.mcfunction).

Zakrety w lancuchu

Lancuch nie musi byc prosty. Możesz skrecac -- wystarczy, ze strzalka każdego bloku wskazuje na następny. Praktyczny wzorzec to "waz" (serpentyna): rzad w prawo, jeden blok w dół/górę, rzad w lewo, jeden blok w dół/górę itd. Pozwala to zmiescic długi lancuch w małej przestrzeni.

Wskazówka: Nazywaj command blocki. W polu "Hover Note" (albo "Custom Name" na Bedrock) wpisz krotki opis, co robi dany blok. Przy lancuchach 20+ bloków to jedyny sposob, zeby sie nie pogubic. Organizacja to polowa sukcesu w pracy z command blockami.

7. Porownanie typow command blockow

Cecha Impulse (pomarańczowy) Chain (zielony) Repeat (fioletowy)
Kolor Pomarańczowy Zielony Fioletowy
Wykonanie Raz na sygnal Raz, po poprzednim bloku 20 razy/s (co tick)
Wymaga redstone? Tak (domyslnie) Nie (ustaw Always Active) Zalecana dzwignia
Typowe uzycie Starter lancucha, jednorazowe akcje Kolejne kroki w lancuchu Ciagle monitorowanie, timery
Może byc Conditional? Tak Tak Tak
Komenda /give /give @s command_block /give @s chain_command_block /give @s repeating_command_block

Dalsze rozdzialy

Znasz juz typy command blockow i ich ustawienia. Czas przejsc do praktyki:

Powiazane poradniki

Komentarze