„Minecraft“ komandos blokų vadovas pradedantiesiems

„Minecraft“ yra vienas geriausių būdų supažindinti jaunus ir naujus žmones su kodavimu. Komandų blokus lengva išmokti ir naudoti, o „Java“ programavimas yra prie pat kampo su „Minecraft“ modifikacijomis ir „Bukkit“ papildiniais. Tai taip pat yra labai smagi vieta patyrusiems programuotojams tinkyti.

Kas yra komandų blokai ir kodėl turėčiau juos naudoti?

Komandų blokai yra „redstone“ komponentas, vykdantis konsolės komandas, kai maitinamas. Pulto komandas galima paleisti iš pokalbio lango, paspaudus priekinį pasvirąjį brūkšnį '/'. Komandos naudojamos žaidimų pasauliui modifikuoti tais būdais, kurių neįmanoma padaryti rankomis, ir, tinkamai naudojant komandų blokus, suteikite „Minecraft“ savo rūšies psuedo programavimo kalbą. Kodas susideda iš dviejų dalykų: logikos ir vykdymo, o daugumai programavimo kalbų reikia, kad abu būtų parašyti tekstu. „Minecraft“ kodavimas vyksta kitu keliu; programos logika ir struktūra nustatoma pagal tai, kur dedami blokai ir kaip jie yra prijungti, o tai reiškia, kad galite skristi virš savo pasaulio ir pamatyti įvairias programos dalis, išdėstytas po bloką.

Gerai, taigi kaip pradėti?

Šiame vadove naudojami nauji 1.9 versijos komandų blokai. Jis veiks 1.8 versijoje, tačiau gali prireikti šiek tiek daugiau patirties.

Atidarykite naują „Minecraft“ pasaulį („Superflat“ veikia geriausiai), įsitikinkite, kad esate „Creative“ režime, ir paspauskite mygtuką „/“. Tai yra komandų langas, kuris yra tas pats, kas pokalbio langas, išskyrus tai, kad jis prasideda „/“, o viskas, kas prasideda pasviruoju brūkšniu, yra komanda. Pirmoji komanda, kurią galite paleisti, yra

/ give @p minecraft: command_block

Suskaidykime tai. Komanda „/ give“ įtraukia daiktus į žaidėjų sąrašą ir turi du argumentus: grotuvas ir elementas, kurį reikia pateikti. „@P“ yra tikslinis parinkiklis. Pasirinkėjas „@p“ parenka artimiausią žaidėją. Arba taip pat galite naudoti savo „Minecraft“ vartotojo vardą, bet jei vykdysite komandą iš konsolės, visada būsite artimiausias žaidėjas. Kiti tiksliniai pasirinkėjai yra „@a“ visiems žaidėjams, „@r“ atsitiktiniam žaidėjui, o „@e“ bus taikomi visiems  subjektams. Subjektai apima viską, kas nėra blokas, pvz., Pabaisas, sniego gniūžtes, gyvūnus ir strėles.

Komanda turėtų būti sėkmingai įvykdyta ir suteikta jums naujas blokas. Norėdami pradėti, padėkite jį bet kur ant žemės.

Galite pastebėti, kad komandų blokas rodo kryptį, kuria jį dedate, panašiai kaip piltuvai ar krosnys. Tai bus svarbu vėliau.

Dešiniuoju pelės mygtuku spustelėkite bloką (arba naudokite bet kurį raktą, kurį naudojate norėdami patekti į stalų ir krosnių kūrimą) ir būsite pasveikinti su komandų bloko GUI.

Iš pradžių atrodo šiek tiek baisu, bet nesijaudinkite, visi tie mygtukai kažką daro. Mygtukas, kuriame sakoma „Impulsas“, pakeičia komandų bloko tipą. Yra trys skirtingi komandų blokų tipai:

  • „Impulsas“, vykdantis komandas  kylančiame raudonakmenio srovės krašte . Tai reiškia, kad kai jie bus maitinami, jie vieną kartą vykdys komandą ir sustos, net jei ir toliau bus maitinami. Tai yra numatytasis nustatymas ir vienintelis galimas 1.8 versijoje
  • Pakartokite, vykdydami komandas kiekvieną varnelę, kurią jie įjungia. Erkė yra tarsi rėmelis, o vienoje varnelėje galima paleisti kelias komandas, iki 20 kartų per sekundę.
  • Grandinė, veikianti tik tuo atveju, jei į ją nukreipiantis komandų blokas įvykdė komandą. Jie eis eilės tvarka vienas po kito, pažymėdami „grandinę“.

Mygtukas, kuriame sakoma „Besąlyginis“, sustabdo komandų bloką nuo patikrinimo, ar ankstesnis grandinės blokas sėkmingai įvykdytas. Kitas variantas „Sąlyginis“ veikia tik tuo atveju, jei ankstesnis blokas nepadarė klaidų.

Mygtukas su užrašu „Needs Redstone“ paleidžia komandą tik tuo atveju, jei komandų blokas yra maitinamas. Kita parinktis „Visada aktyvi“ neleidžia komandų blokui tikrinti, ar jis maitinamas, ir tik daroma prielaida, kad jis yra. Šios parinkties nereikėtų naudoti su „Impulse“ komandų blokais, nes jie tampa nenaudingi.

Sukurkime grandinę, mūsų pirmąjį „scenarijų“. Padėkite grandinės komandų bloką arba du, nukreiptus į pirmojo impulso komandų bloką, taip:

Įsitikinkite, kad grandinės blokai yra „Visada aktyvūs“. Priešingu atveju mums reikės pastatyti raudonakmenius blokus ar srovę, kuri užima nereikalingą vietą. Įdėkite mygtuką ant impulsų komandos bloko grandinės pradžioje ir paspauskite jį.

Nieko neatsitiks. Taip yra todėl, kad mes dar nepildėme jų komandomis! Dešiniuoju pelės mygtuku spustelėkite impulsų bloką, kad jį redaguotumėte, ir įveskite pagrindinę komandą

sakyk pradėk

Atkreipkite dėmesį, kaip mums nereikia priekinio pasvirojo brūkšnio komandų blokuose. Jei norite, galite naudoti vieną, bet tai nereikalinga. „/ Say“ komanda imasi vieno argumento, teksto ir pasako jį to, kas jį vykdo, požiūriu. Jei jį paleisite, jis bus rodomas kaip „pranešimas“, kaip ir įprastas pokalbis. Jei jis paleistas iš komandų bloko, tai bus „[@] pranešimas“. Arba yra „/ tell“, kuris užima žaidėjo argumentą, ir „/ tellraw“, kuris yra panašus į „/ tell“, išskyrus tai, kad vietoj teksto reikia neapdoroto JSON.

Norėdami užpildyti daugiau pokalbių dalykų, galite užpildyti grandinės komandų blokus. Jie bus įvykdyti tvarkingai, nedelsiant, toje pačioje varnelėje. Jei norite juos paleisti su vėlavimu, turėsite juos nustatyti naudodami redstone kartotuvus. Kartu su „/ say“ yra ir kitos pagrindinės komandos, atliekančios daugiau dalykų, pvz., „/ Give“, kuris suteikia elementams, „/ effect“, kuris taiko gėrimo efektus, „/ setblock“ ir „/ fill“, modifikuojantis jūsų pasaulį. ir daugelis kitų. „Minecraft Wiki“ galite rasti didelę komandų duomenų bazę kartu su kitu naudingu turiniu.

Tiksliniai selektoriai

„@P“ tiksliniai selektoriai iš tikrųjų yra daug galingesni, nei atrodo iš pirmo žvilgsnio. Pvz., Jei norėtume taikyti pagal visus objektus, naudotume „@e“, bet jei norėtume nukreipti tik į „Zombius“,

@e [type = Zombie]

Atkreipkite dėmesį į skliaustus po „@e“. Šių skliaustų viduje yra tikslinių parinkiklių argumentai , kurių visą sąrašą galite rasti „Minecraft Wiki“. Argumentas „type“ parenka tik tam tikro tipo objektus, šis yra „Zombie“. Jei norėtume nukreipti visus Zombius per 10 blokų nuo komandos bloko, mes tai naudotume

@e [type = Zombie, r = 10]

„R“ yra spindulio argumentas. Be to, galite taikyti pagal vietą, vardą, komandą ir rezultatą.

Grandinės komandos

Pristatysime kitą komandą, kuri nėra panaši į kitas. Komanda yra „/ vykdyti“. Ši komanda ima kitą komandą kaip įvestį ir vykdo ją kito subjekto požiūriu. „/ Vykdyti“ struktūra yra

/ vykdyti komandą @target XYZ /

X, Y ir Z yra koordinatės, nuo kurių reikia paleisti komandą. Tai neturi reikšmės daugumai komandų, tačiau labai svarbu, jei naudojate  santykinį padėties nustatymą. Santykinė padėtis prasideda „~“, o po jos pateikiamas teigiamas arba neigiamas skaičius, nurodantis, kiek blokų nuo kilmės yra, kuris žymimas „~ ~ ~“. Taigi, pavyzdžiui, jei norėjome paleisti „/ say“ taip, tarsi kalbėtų kaimo gyventojas, galime nustatyti tokią komandą:

/ execute @e [type = Villager] ~ ~ ~ / say Hey

Ši komanda sukels pranešimą visiems kaimo gyventojams. Tai nėra optimalu, jei turime daugiau nei vieną asmenį arba daugiau nei vieną kaimo gyventoją, todėl performatuokime šią komandą:

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

Tai yra daug sudėtingiau nei pirmoji ir apima dviejų komandų „/ vykdyti“ sujungimą. Pirmasis komandos „/ vykdymas“ vykdomas kiekvienam žaidėjui, tada antrasis patikrina, ar netoliese yra tiksliai vienas kaimo gyventojas, ir tada tas kaimietis liepia artimiausiam žaidėjui „Ei“. Tai užtikrina, kad vienam asmeniui kalbėtų tik vienas kaimo gyventojas.

Mokymasis sintaksės

„Minecraft“ tikrai yra daugybė komandų, kurių kiekviena turi savo sintaksę. Kiekvienos komandos pagalbos meniu paprastai greitai pasakys, kokių argumentų reikia komandai, o „Minecraft Wiki“ turi išsamų kiekvieno atliktų veiksmų sąrašą. Tai ne tiek svarbu žinoti, ką tiksliai daro kiekviena komanda, bet ir žinoti, kaip jas naudoti kartu. „Minecraft“ juk yra žaidimas, todėl žaidimas su komandomis yra mokymosi proceso dalis.