Begynnerens guide til kommandoblokker i Minecraft
Minecraft er en av de beste måtene å introdusere unge og nye folk til koding. Kommandoblokker er enkle å lære og bruke, og Java-programmering er rett rundt hjørnet med Minecraft mods og Bukkit plugins. Det er også bare et veldig morsomt sted for erfarne kodere å tinker inn.
Hva er kommandoblokker og hvorfor skal jeg bruke dem?
Kommandoblokker er en redstone-komponent som utfører konsollkommandoer når de drives. Konsollkommandoer kan kjøres fra chatvinduet ved å fortsette dem med et fremoverstrekk, '/'. Kommandoer brukes til å modifisere spillverdenen på måter som ikke er mulige for hånden, og når de brukes riktig i kommandoblokker, gir Minecraft sin egen type psuedo-programmeringsspråk. Koden består av to ting: logikk og utførelse, og de fleste programmeringsspråk krever at begge skal skrives i tekst. Minecraft-koding tar en annen vei; logikken og strukturen til programmet bestemmes av hvor blokkene er plassert og hvordan de kobles sammen, noe som betyr at du kan fly over hele verden og se de forskjellige delene av programmet som er lagt ut blokkert.
Ok, så hvordan begynner jeg?
Denne veiledningen gjør bruk av de nye kommandolinjene i versjon 1.9. Det vil fungere i 1,8, men kan kreve litt mer kompetanse.
Åpne opp en ny Minecraft-verden (Superflat fungerer best), pass på at du er i Creative-modus, og trykk på "/" -knappen. Dette er kommandovinduet, som er det samme som chatvinduet, bortsett fra at det starter deg med en '/', og alt som begynner med fremoverstrekk er en kommando. Den første kommandoen du kan kjøre er
/ gi @p minecraft: command_block
La oss bryte dette ned. Kommandoen "/ gi" setter elementer inn i spillernes beholdning og har to argumenter: spilleren og elementet å gi. "@P" er en målet velger. Vælgeren "@p" velger den nærmeste spilleren. Alternativt kan du også bruke Minecraft brukernavn, men hvis du kjører en kommando fra konsollen vil du alltid være den nærmeste spilleren. De andre målvelgerne er "@a" for alle spillere, "@r" for en tilfeldig spiller, og "@e" vil målrette mot alle enheter. Entiteter inkluderer alt som ikke er en blokk, som monstre, snøballer, dyr og piler.
Kommandoen bør utføres vellykket og gi deg en ny blokk. Plasser den hvor som helst på bakken for å komme i gang.
Du kan se at kommandoblokken peker i retningen du plasserer den, mye som hopper eller ovner. Dette vil bli viktig senere.
Høyreklikk blokken (eller bruk hvilken som helst tast du bruker for å få tilgang til bord og ovner), og du vil bli møtt med kommandoblokken GUI.
Det virker litt skummelt først, men ikke bekymre deg, alle disse knappene gjør noe. Knappen som sier "Impulse" endrer typen kommandoblokke. Det finnes tre ulike typer kommandoblokker:
- Impuls, som kjører kommandoer på stigende kant av redstone nåværende. Dette betyr at når de blir drevet, vil de kjøre en gang og stoppe, selv om de fortsetter å bli drevet. Dette er standardinnstillingen og er den eneste tilgjengelige i 1.8
- Gjenta, som kjører kommandoer hver sett kryss de er drevet. Et kryss er som en ramme, og flere kommandoer kan kjøres i et enkelt kryss, opptil 20 ganger i sekundet.
- Kjede, som bare løper hvis kommandoblokken som peker på den, har utført sin kommando. Disse vil løpe i rekkefølge, den ene etter den andre, i et enkelt kryss, derav navnet 'Kjede'.
Knappen som sier "Ubetinget" stopper kommandolinjen fra å sjekke om den forrige blokk i kjeden har blitt utført. Det andre alternativet, "Betinget", går bare hvis den forrige blokken slet ingen feil.
Knappen som sier "Behov Redstone" kjører bare kommandoen hvis kommandoblokken er drevet. Det andre alternativet, "Alltid aktiv" stopper kommandolinjen fra å sjekke om den er drevet og bare antar at den er. Dette alternativet bør ikke brukes med Impulse-kommandoblokker, da det gjør dem ubrukelige.
La oss lage en kjede, vårt første "skript". Plasser ned en kjedekommandoblokke eller to som vender inn i den første impulskommandoen, slik:
Pass på at du stiller blokkene til "Alltid aktiv". Ellers trenger vi å sette ned redstone-blokker eller strøm, som tar opp unødvendig plass. Sett en knapp på impulskommandoblokken ved kjettingens start, og trykk den.
Ingenting vil skje. Dette er fordi vi ikke har fylt dem med kommandoer enda! Høyreklikk på impulsblokken for å redigere den, og legg inn en grunnleggende kommando
si start
Legg merke til hvordan vi ikke trenger en skråstrek i kommandoblokker. Du kan bruke en hvis du vil, men det er unødvendig. Kommandoen "/ say" tar et argument, tekst, og sier det fra synspunktet til den som utfører det. Hvis du kjører det, vises det som "melding" akkurat som vanlig chat. Hvis det har kjørt fra en kommandolinje, blir det "[@] melding". Alternativt er det "/ tell", som tar et spillerargument, og "/ tellraw" som er som "/ tell", bortsett fra at det tar rå JSON i stedet for tekst.
Du kan fylle kjedebokblokkene for å skrive flere ting å chatte. De vil bli henrettet i rekkefølge, uten forsinkelse, i samme kryss. Hvis du vil kjøre dem med en forsinkelse, må du sette dem opp med redstone repeaters. Sammen med "/ say", er det andre grunnleggende kommandoer som gjør flere ting, som "/ gi", som gir elementer, "/ effect", som bruker potion-effekter, "/ setblock" og "/ fill" som modifiserer din verden , og mange andre. En stor database med kommandoer finnes på Minecraft Wiki, sammen med annet nyttig innhold.
Målvelger
Målrørene "@p" er faktisk mye kraftigere enn de ser ved første øyekast. For eksempel, hvis vi ønsket å målrette mot alle enheter, ville vi bruke "@e", men hvis vi ønsket å målrette mot bare zombier, ville vi bruke
@e [type = Zombie]
Legg merke til brakettene etter "@e". Inne i disse parentesene er målvelger argumenter, En fullstendig liste over disse finner du på Minecraft Wiki. Argumentet "type" velger bare enheter av en bestemt type, denne er "Zombie". Hvis vi ønsket å målrette mot alle zombier innen 10 blokker av kommandolinjen, ville vi bruke
@e [type = Zombie, r = 10]
Med "r" er et radiusargument. Du kan også målrette etter sted, navn, lag og score, blant andre.
Kjedekommandoer
La oss introdusere en annen kommando som ikke er som de andre. Kommandoen er "/ kjøre". Denne kommandoen tar en annen kommando som input og utfører den fra et annet synspunkts synspunkt. Strukturen av "/ kjøre" er
/ utfør @target X Y Z / command
X, Y og Z er koordinater for å kjøre kommandoen fra. Dette spiller ingen rolle med de fleste kommandoer, men betyr mye hvis du bruker relativ posisjonering. En relativ posisjon starter med "~" og etterfølges av et positivt eller negativt tall som angir hvor mange blokker fra opprinnelsen, som betegnes av "~ ~ ~". Så, for eksempel, hvis vi ønsket å løpe "/ si" som om en Villager snakket, kan vi sette opp kommandoen slik:
/ utfør @e [type = Villager] ~ ~ ~ / si Hei
Denne kommandoen vil føre til at en melding går ut til alle, fra alle landsbyboere. Dette er ikke optimal hvis vi har mer enn én person eller flere enn en landsbyboer, så la oss reformatere denne kommandoen:
/ utfør @a ~ ~ ~ / utfør @e [type = Villager, c = 1] ~ ~ ~ / fortell @p Hei
Dette er mye mer komplekst enn det første, og innebærer å knytte to "/ kjøre" kommandoer sammen. Den første "/ execute" av kommandoen kjører på hver spiller, så den andre sjekker for nøyaktig en Villager i nærheten, og så har Villager fortell nærmeste spiller "Hei". Dette sørger for at bare én Villager snakker per person.
Lære syntaksen
Det er absolutt mange kommandoer i Minecraft som hver har sin egen syntaks. Hjelpemenyene for hver kommando vil vanligvis fortelle deg hvilke argumenter kommandoen trenger, og Minecraft Wiki har en detaljert liste over hva hver enkelt eier. Det er ikke så mye om å vite nøyaktig hva hver kommando gjør, men å vite hvordan de skal brukes sammen. Minecraft er et spill, tross alt, så spilling med kommandoene er en del av læringsprosessen.