Categories
spill

Programmer en portal mellom to geografiske punkter i Minecraft

Flere av ungene spiller en del Minecraft. Jeg blir med jeg også av og til. Det er teraputisk å bygge ting synes jeg. Ungene har av og til fortalt om noe de har sett på YouTube som går an i Minecraft, eller funnet ut noe nytt selv. Dette med teleportering er jo ganske innebygd og vanlig skjønner jeg. Du kan velge å forflytte en spiller til der en annen spiller er. Eller om du er litt mer avansert, kan du med kommandoer i chatten velge å forflytte deg selv eller en annen spiller til bestemte koordinater (x, y, z) i Minecraft. Det forutsetter at du har litt greie på hva som er hvor da.

Jeg satt nylig og spilte sammen med de i Bedrock versjonen av Minecraft (som kan brukes på tvers av ulike enheter som Nintendo Switch og Android-telefoner). Jeg satte opp en Bedrock-server på Linux, slik at ikke verden lå på en bestemt enhet. Her er et script som setter det opp for deg.

Vi bygde et digert hus sammen og jeg fløy av gårde og bygde en havn et annet sted. Så noterte meg koordinatene, slik at jeg kunne teleportere mellom de to stedene i alle var på ett sted. Så tenkte jeg, er det ikke mulig å teleportere litt smartere? Må jeg gjøre det manuelt med en kommando i chatten hver gang? Ungene visste ikke hvordan det kunne gjøres, men sa at det går sikkert an. Jeg søkte litt på nett og det meste av teleportering er visstnok til underverden gjennom Obsidian-portaler. Lite om forflytting intert i samme verden.

Slik gjør du det

Men jeg fant ut at jeg kunnne i kreativ modus gi meg selv en kommando-blokk som kunne settes opp til å gjennomføre kommandoer under gitte betingelser. Altså litt som programmering. Dette ville jeg undersøke nærmere, og fant en måte jeg kunne sette opp en portal mellom havna og huset.

Først måtte jeg gi meg selv en slik kommandoblokk, med kommandoen:

/give @s command_block 10

Hvor @s betyr meg selv og 10 er antallet blokker. Da har jeg det jeg trenger for å sette i gang. Jeg plasserte en slik blokk i huset og mens jeg står foran den, trykker jeg på den. Da fikk jeg opp en skjerm som lot meg sette inn en kommando og betingelsene

Jeg satte inn kommandoen

tp @p X Y Z 

Hvor @p betyr den som er nærmest blokken når den aktiveres og X Y Z er koordinatene til ønsket mål for teleportering, i mitt tilfelle, havna.

For å finne koordinatene der du er, kan du enten slå det på i settings, men det fikk jeg ikke gjort der og da, ettersom server var ekstern og ikke lokalt på telefonen jeg spilte på. Jeg kjørte derfor kommandoen:

/tp ~ ~ ~

Som teleporterer meg til det punktet jeg står, så vises koordinatene i skjermen. Disse skrev jeg ned på papir.

Deretter valgte jeg som betingelser i kommandoblokken at den krevde rødstein og lot den stå på ubetinget og impuls (les lengre ned for en spennede utfordring jeg fikk når jeg forsøkte å la den stå på gjenta.

Dette med rødstein var litt snålt, men jeg måtte ved siden av kommandoblokken i huset, plassere en bryter av noe slag. Noe som kunne aktivere kommandoblokken og teleportere den spilleren som står nærmest. Det kan være en spake, en trykkflate eller en knapp. Jeg valgte en trykkflate, for en spake måtte tydeligvis settes tilbake manuelt hver gang, før den kunne brukes igjen.

Nå hadde jeg satt opp den ene siden og den andre gjenstod. Så gjorde jeg det sammen i havna, og nå kunne jeg bare gå på den trykkflaten og vips være i havna.

I havne satte jeg opp en tilsvarende kommandoblokk, men denne gangen med koordinatene til huset:

Nå var alt klart og ferdig til bruk. Jeg lot ungene forsøke den og de synes dette var veldig stilig. De hoppet frem og tilbake.

En verdifull erfaring med kommandoblokken

Jeg kom i skade å velge feil betingelse på blokkene første gang jeg satte de opp, og endte opp med at spilleren min teleporterte seg automatisk frem og tilbake i en uendelig løkke. Jeg måtte måtte hoppe ut og inn igjen av spillet for å komme til et annet sted, der spawnekoordinatene var satt.

For å kunne endre kommandoblokkene måtte jeg jo nært de, og da ville jeg bare falle inn i den evige løkken igjen. Så jeg fant ut at jeg først må deaktivere funksjonaliteten til slike blokker, gjøre endringene og reaktivere de etterpå. Kommandoen for å deaktivere de var følgende:

/gamerule commandblockxenabled false

og deretter

/gamerule commandblockxenabled true

Etterpå fikk jeg alt til å fungere igjen, som forklart over. Her er havna og huset vi bygde sammen:

Huset
Havna

Les mer om kommandoblokken her:

By hoyd

Communicator and creative developer at Andøya Space Education