Priročnik za začetnike o poveljevanju blokov v Minecraftu

Minecraft je eden najboljših načinov za uvajanje mladih in novih ljudi v kodiranje. Ukaznih blokov je enostavno naučiti in uporabljati, programiranje Java pa je tik pred vrati z modovi Minecraft in vtičniki Bukkit. Prav tako je zelo zabaven kraj za izkušene kodirce.

Kaj so ukazni bloki in zakaj naj jih uporabljam?

Ukazni bloki so komponenta rdečega kamna, ki izvaja ukaze v ukazni mizi, ko se napaja. Ukaze v konzoli lahko zaženete iz okna za klepet tako, da jih nadaljujete s poševnico naprej, '/'. Ukazi se uporabljajo za spreminjanje sveta igre na načine, ki jih ročno ni mogoče, in če se pravilno uporabljajo v ukaznih blokih, dajo Minecraftu svoj jezik za programiranje psuedo. Koda je sestavljena iz dveh stvari: logike in izvajanja, večina programskih jezikov pa zahteva, da sta oba napisana v besedilu. Kodiranje Minecrafta ima drugačno pot; logika in struktura programa se določa glede na to, kje so postavljeni bloki in kako so ožičeni, kar pomeni, da lahko preletite svoj svet in si ogledate različne dele programa, razporejene po posameznih blokih.

V redu, kako naj začnem?

V tem priročniku so uporabljeni novi ukazni bloki v različici 1.9. Deloval bo v 1.8, vendar bo morda potreboval malo več strokovnega znanja.

Odprite nov svet Minecrafta (Superflat najbolje deluje), preverite, ali ste v kreativnem načinu, in pritisnite gumb “/”. To je ukazno okno, kar je enako kot okno za klepet, le da se začne z '/' in vse, kar se začne s poševnico naprej, je ukaz. Prvi ukaz, ki ga lahko zaženete, je

/ give @p minecraft: command_block

Razčistimo to. Ukaz “/ give” doda predmete v inventar igralcev in ima dva argumenta: igralec in element, ki ga želite dati. "@P" je izbirnik cilja. Izbirnik “@p” izbere najbližjega igralca. Lahko pa uporabite tudi svoje uporabniško ime za Minecraft, vendar če zaženete ukaz s konzole, boste vedno najbližji igralec. Drugi izbirniki ciljev so "@a" za vse igralce, "@r" za naključnega igralca in "@e" bo ciljal na vse  entitete. Subjekti vključujejo vse, kar ni blok, na primer pošasti, snežne kepe, živali in puščice.

Ukaz se mora uspešno izvesti in vam dati nov blok. Za začetek ga postavite kamor koli na tla.

Vidite lahko, da ukazni blok kaže v smeri, kamor ga postavite, podobno kot lijaki ali peči. To bo pomembno kasneje.

Z desno miškino tipko kliknite blok (ali uporabite kateri koli ključ, s katerim dostopate do tabel in peči za izdelavo), pozdravil vas bo GUI ukaznega bloka.

Sprva se zdi nekoliko strašljivo, toda brez skrbi, vsi ti gumbi nekaj naredijo. Gumb z napisom »Impulse« spremeni vrsto ukaznega bloka. Obstajajo tri različne vrste ukaznih blokov:

  • Impulse, ki izvajajo ukaze na  naraščajočem robu Redstonovega toka. To pomeni, da bodo, ko bodo napajani, enkrat izvedli svoj ukaz in se ustavili, tudi če bodo še naprej napajani. To je privzeta nastavitev in je edina, ki je na voljo v različici 1.8
  • Ponovite, s čimer zaženete ukaze za vsako kljukico, na katero se napajajo. Kljukica je kot okvir in v enem tiku lahko zaženete več ukazov do 20-krat na sekundo.
  • Veriga, ki se zažene le, če je ukazni blok, ki kaže vanjo, izvede svoj ukaz. Te se bodo izvajale zaporedoma, eno za drugo, v enem kljuku, od tod tudi ime 'Veriga'.

Gumb z napisom »Brezpogojno« preprečuje, da bi ukazni blok preverjal, ali je prejšnji blok v verigi uspešno zagnan. Druga možnost, »Pogojno«, se zažene le, če prejšnji blok ni odpravil nobenih napak.

Gumb z napisom "Needs Redstone" zažene ukaz samo, če je ukazni blok napajan. Druga možnost, »Vedno aktiven«, zaustavi ukazni blok, da preveri, ali je napajan, in samo domneva, da je. Te možnosti ne smete uporabljati z ukaznimi bloki Impulse, ker so neuporabni.

Naredimo verigo, naš prvi 'skript'. Postavite ukazni blok verige ali dva, obrnjena v prvi impulzni ukazni blok, takole:

Prepričajte se, da ste bloke verig postavili na »Vedno aktivno«. V nasprotnem primeru bi morali odložiti bloke redstone ali tok, ki zavzame nepotreben prostor. Postavite gumb na impulzni ukazni blok na začetku verige in ga pritisnite.

Nič se ne bo zgodilo. To pa zato, ker jih še nismo napolnili z ukazi! Z desno miškino tipko kliknite impulzni blok, da ga uredite, in vnesite osnovni ukaz

recimo začni

Upoštevajte, kako v ukaznih blokih ne potrebujemo poševnice naprej. Če ga želite, ga lahko uporabite, vendar je nepotreben. Ukaz “/ say” vzame en argument, besedilo in ga izgovori z vidika tistega, ki ga izvrši. Če ga zaženete, se bo prikazal kot "sporočilo", tako kot običajni klepet. Če se zažene iz ukaznega bloka, bo »[@] message«. Druga možnost je "/ tell", ki zajema argument igralca, in "/ Tellraw", ki je podoben "/ Tell", le da namesto besedila zajema surovi JSON.

Če želite napisati več stvari za klepet, lahko napolnite bloke ukaznih verig. Izvedeni bodo po vrstnem redu, brez odlašanja, z istim kljukico. Če jih želite zagnati z zamikom, jih boste morali nastaviti z repetitorji redstone. Poleg "/ say" obstajajo tudi drugi osnovni ukazi, ki naredijo več stvari, na primer "/ give", ki daje elemente, "/ effect", ki uporablja učinke napitkov, "/ setblock" in "/ fill", ki spreminjajo vaš svet in mnogi drugi. Na Minecraft Wiki lahko najdete veliko bazo podatkov o ukazih, skupaj z drugo koristno vsebino.

Izbirniki ciljev

Izbirniki ciljev »@p« so pravzaprav veliko močnejši, kot se zdi na prvi pogled. Če bi na primer ciljali na vse entitete, bi uporabili »@e«, če pa bi želeli ciljati samo na zombije, bi uporabili

@e [type = Zombie]

Upoštevajte oklepaje za “@e”. V teh oklepajih so argumenti izbirnika ciljev , katerih celoten seznam najdete na Minecraft Wiki. Argument "type" izbere samo entitete določene vrste, ta je "Zombie". Če bi želeli ciljati na vse zombije v 10 blokih ukaznega bloka, bi uporabili

@e [type = Zombie, r = 10]

Pri čemer je "r" argument polmera. Med drugim lahko ciljate tudi na lokacijo, ime, ekipo in rezultat.

Veriženje ukazov

Uvedimo še en ukaz, ki ni tak kot drugi. Ukaz je »/ izvrši«. Ta ukaz za vhod sprejme drug ukaz in ga izvede z vidika druge entitete. Struktura “/ execute” je

/ izvrši @target XYZ / ukaz

X, Y in Z so koordinate za zagon ukaza. To pri večini ukazov ni pomembno, je pa zelo pomembno, če uporabljate  relativno pozicioniranje. Relativni položaj se začne z “~” in mu sledi pozitivno ali negativno število, ki označuje, koliko blokov od začetka, ki je označeno z “~ ~ ~”. Torej, če bi na primer želeli zagnati »/ say«, kot da govori vaščan, lahko nastavimo ukaz takole:

/ execute @e [type = Villager] ~ ~ ~ / reci Hej

Ta ukaz bo povzročil sporočilo vsem, od vsakega vaščana. To ni optimalno, če imamo več oseb ali več vaščanov, zato preoblikujmo ta ukaz:

/ execute @a ~ ~ ~ / execute @e [type = Villager, c = 1] ~ ~ ~ / tell @p Hej

To je veliko bolj zapleteno kot prvo in vključuje povezovanje dveh ukazov "/ izvršitev". Prvi ukaz »/ izvedba« se izvaja pri vsakem igralcu, nato drugi preveri, ali je v bližini točno en vaščan, nato pa naj vaščan najbližjemu igralcu reče »Hej«. Tako je zagotovljeno, da na osebo govori le en vaščan.

Učenje sintakse

V Minecraftu je zagotovo veliko ukazov, ki imajo vsak svojo sintakso. Meniji pomoči za vsak ukaz vam običajno hitro povedo, katere argumente potrebuje ukaz, Minecraft Wiki pa vsebuje podroben seznam tega, kar počne vsak. Ne gre toliko za to, da natančno vemo, kaj počne vsak ukaz, ampak za to, kako jih uporabiti skupaj. Minecraft je navsezadnje igra, zato je igranje z ukazi del učnega procesa.