Min første Minecraft-mod

Med et par børn i husstanden, som er glade for at spille Minecraft, og som er noget nysgerrige omkring hvordan man egentlig laver computerspil, syntes jeg egentlig, at det var på tide at finde ud af, hvordan man laver mods til Minecraft.

Minecraft er jo desværre ikke open source, så mod-udvikling starter med, at man må hente et ikke-supported toolkit (Minecraft Coder Pack) og decompilere Minecraft-koden. I sig selv en dårlig start, da det betyder, at koden i meget høj grad mangler kommentarer, og nogle metoder har fået komplet ulæselige navne af decompileren; eksempelvis er det svært at gætte, at det er metoden func_90011_a der styrer, hvordan et dyr formerer sig.

Jeg fandt en video, der beskriver hvilke værktøjer, der skal installeres, og hvordan man sætter miljøet op, så efter lidt JDK-ballade lykkedes det mig at få en Minecraft-version kørende fra Eclipse (jeg er dog normalt en IntelliJ-pige, så jeg kæmper stadig lidt med at finde rundt i Eclipse og huske alle genvejene). Men kunne også konstatere, at der var brug for mere hardware i husstanden, da min skrivebords-PC herhjemme, som jeg normalt kun bruger til at surfe lidt og remote desktoppe over til kraftigere computere på arbejdet, var noooget tung at danse med, da en Minecraft i debug-mode kræver temmeligt meget regnekraft.

Tøserne og jeg havde fundet på, at vi gerne ville tilføje en kat til Minecraft-verdenen, så jeg startede med at sidde og se endnu et par videoer, og så gik vi i gang i modelleringsprogrammet Techne, hvor vi startede med en grundmodel af en ulv, som vi modellerede videre på til den så lidt mere katte-agtig ud. Selve overfladeteksturen kunne man eksportere over til Gimp og tegne øjne osv. i de få pixels, man har til rådighed. Videoerne var temmeligt gode, men jeg savnede bestemt også en tekst-udgave, så det ikke var nødvendigt at sidde og scrolle igennem en 25-minutters video for at finde de 10 sekunder, hvor speakeren sagde lige præcis den ting, man ikke kunne huske.

Efter at have rettet lidt op på den Java-kode, Techne havde genereret udfra modellen (det passede tilsyneladende ikke helt til den nyeste Minecraft-version) og tilføjet yderligere et par nødvendige klasser, ville jeg gerne se det køre. Men der var ingen katte, der dukkede op af sig selv i de verdener, jeg lavede. Efter lidt detektivarbejde lykkedes det mig at finde en måde at tilføje et æg (alle dyr kommer fra æg i Minecraft, en smule biologisk snyd) så vi selv kunne placere katte der, hvor vi ville have dem. Yes! Så var der grimme katte med strittende haler over det hele.

Det var et skægt eksperiment, men umiddelbart synes jeg, at der er langt til, at børnene selv kan sidde og arbejde videre på vores mods. Det ville ellers være en oplagt introduktion til så småt at komme i gang med at kode; her er virkelig et spil, som optager mange børn på tværs af køn og alder, og som i sin grundidé er meget kreativt. Så jeg venter i spænding på det officielle Plugin API, som efter sigende kommer... engang...

Anne-Sofie Nielsens billede
Anne-Sofie Nielsen arbejder som leder i softwarebranchen. Har aldrig helt fået besluttet sig for at være en nørd eller ej.

Kommentarer (22)

Mikkel Bruun

Har selv et par drenge der er helt forgabte i minecraft...

Så det var helt naturligt at deres julegave bestod af:

Amazon EC2 hosted minecraft server
Iphone app til at administrere ovenstående

De blev glade for gaven, og jeg kunne benytte mine cloud/mobil skills i en jule/familie kontekst

Den hjemmelavede julegave anno 2012. Social, mobil, cloud, hjemmelavet...

Win/Win

Må kigge på at lave en lille mod også...

Frederik Thorup

Okey, her vil jeg gerne ydmygt spørge: Hvordan?
Kan du bruge 10 linier og forklare det for en E-ingeniør?

Og til Anne-Sofie: DEr findes da katte i Minecraft? Fodre en Ocelot med fisk og den bliver til en tam huskat. Findes i 3-4 forskellige farver. Har man flere for de endda unger. Kattene har endda en meget irriterende realistisk "miauu"-lyd

Anne-Sofie Nielsen

DEr findes da katte i Minecraft? Fodre en Ocelot med fisk og den bliver til en tam huskat. Findes i 3-4 forskellige farver. Har man flere for de endda unger. Kattene har endda en meget irriterende realistisk "miauu"-lyd

Ja, jeg har også lånt kattelydene fra Ocelot'en. Men nu var pointen mere at vise børnene, hvordan man selv kunne modellere et dyr, og så var det dem, der havde valgt, at det skulle være en kat. Medindflydelse fremmer forståelsen :-)

Mikkel Bruun

Det er ikke så svært...selvom jeg var pænt blank på minecraft da jeg gik igang...

Tog udgangspunkt i denne blog http://www.blog.gartonhill.com/upgrading-your-minecraft-ec2-cloud-server...

Istedet for en vanilla minecraft server valgte jeg dog at bruge en bukkit server, som er en minecraft kompatibel branch der understøtter plugins, etc...

selve ios app'en lavede jeg vha af Amazons EC2 Api...det tog ca 15 minutter, så er mine børn istand til at starte/stoppe en server i irland ved at trykke på en knap...Det er lettere en nogen af de computere vi har i huset...

Da jeg havde lavet serveren og app'en optog jeg en video hvor jeg løb rundt og lavede nogle ting inde på serveren...skrev nogle skilte til dem børnen osv...Det var næsten det sværeste, minecraft er pænt komplekst og der kommer zombier frem om natten :-D

Rolf Amfelt

Ja, vi er nok flere der godt kunne bruge et forældre oplæg/workshop til minecraft.

Hvad går Minecraft egentlig ud på?
Hvad bruger dine børn det til?
Hvordan laver jeg local LAN (med kun en betalt bruger?)
Hvad er reglerne på de åbne servere?
Hvad gør jeg når børnene vil have mods på?
Hvad koster en server?
Hvad er forskellen på bukit, tekit og andre afarter af servere og evt. klienter.
Også kan jeg se at der her er de hardcore der så skal have advance workshop, med egen udvikling af mods.

Overstående spørgsmål er dem jeg selv får oftest, fra kollegaer og forældre til klassekammerater. og nogle af dem kan jeg ikke selv svare på.

:-)

Jacob Bang

Ja plugin udvikling til Minecraft klienten er ikke helt nem. En nemmere tilgang er at udvikle plugins til CraftBukkit der har et dokumenteret API ved navn Bukkit.

CraftBukkit er en udvidet Minecraft server med formålet at gøre det nemmere at skrive og bruge plugins til Minecraft servere. Du er selvfølgelig begrænset dig til hvad klienten kan gøre men det er ikke så lidt du faktisk kan lave på serversiden.

Det gode ved Bukkit er at API'et ligger rimelig fast og det er ikke vildt svært at komme i gang med. Der tilføjes løbende nye features til API'et mens Minecraft stadig bliver et mere avanceret spil. Derudover så har CraftBukkit rettet en del fejl samt optimeret den oprindelige Minecraft klient en del. Dette gør også at størstedelen af alle Minecraft servere kører en version af CraftBukkit.

Thomas Ehler

@Jacob
Jep jeg vil sige som Jacob. Bukkit for os forældre der også har andet at lave :-)
Jeg har kun bidraget med jernet (gl. Dualcore 2GHz og 2Gig ram + Windows 7 32bit) og Forward opsætning på routeren. Den trækker nemt 20 samtidige spillere.
Resten (Bukkit+plugins, regler osv.) har sønnen (8 år!) og kammerater selv sat op.
Oog så har jeg ændret Minecraft start.bat filen så hele server biblioteket Zippes hver aften ved nedlukning. (There ARE evil forces out there, så det er rart at kunne rulle tilbage når ALT med jævne mellemrum er smadret :)

Jacob Bang

Administrerer selv en større server og jeg kan specielt anbefale LogBlock kombineret med en MySQL database. Derved logges alle ændringer der sker på serveren og du kan med et (relativt) simpelt query se hvem der har gjort hvad og rulle ændringer tilbage lavet af en specifik bruger i et specifikt område.

Samtidig er det selvfølgelig fornuftigt løbende at tage backup. Hvis du kører save-all og derefter save-off kan du tage en kopi af din minecraft server mappe uden der sker ændringer i filerne. Når du er færdig med det kan du køre save-on for at aktivere filskrivning igen. På vores server sker alt dette hver time igennem en kombination af screen og cronjobs.

Nicolas Guilbert

hos os er Minetest vældigt populært. Det er let at sætte servere op, lave mods, og der er et fint community omkring det. Derudover er det open source, og giver dermed børnene et godt incitament til at interessere sig for koden bag, versionstyring osv.

Ulempe-siden (ift. Minecraft) kan opsummeres til at der foreløbigt ikke er implementeret mobs og carts.

Michael Iversen

@Thomas
Helt enig. Jeg har ligesom dig "kun" bidraget med jernet, - der dog kører Linux udgaven af bukkit isf. Win.
Ellers fuldstændigt samme setup mht. portforward, auto-backup osv.osv.

Min knægt (13 år) og en del af hans venner bruger af og til meget tid på Minecraft.
Jeg er også blevet "punket" til at lave en mod; men har dog ikke modtaget nogen kravspec endnu :-)

Lige inden julen fandt drengene så en bukkit-variant kaldet Tekkit, som er kommet på serveren her i ferien isf. bukkit.

Det er simpelthen Minecraft på steroider, da de får mulighed for at bygge nogen helt vilde ting&sager (http://www.technicpack.net/tekkit/).

Også er der såvidt jeg kan se også en hel del muligheder for at putte noget kode i forskellige objekter - f.eks. hvordan en såkaldt "turtle" skal bevæge sig rundt og opføre sig - det foregår i noget LUA-lignende noget.

//Michael.

Sune Marcher

Hvordan laver jeg local LAN (med kun en betalt bruger?)

Ahem.

Spillet koster under 150kr, hvilket er rimeligt billigt taget i betragtning hvor mange timers underholdning der er i det.

Derudover fortjener Mojang gutterne betaling for deres arbejde. Det kan godt være de allerede har skovlet en pæn del millioner ind, men de bliver ikke kun brugt på fest og ballade - Notch har f.eks. doneret en kvart million $ til EFF til kamp mod softwarepatenter.

Benjamin Kristensen

Du siger at du ville lave et mod fordi du gerne ville have dine børn til at programmere, og du meget rigtigt mener at man lærer mest, eller har nemmere ved at fastholde koncentrationen når man kan se resultatet af sine anstrængelser visuelt...

Jeg vil derfor gerne anbefale computercraft, som er et mod til Minecraft hvor man kan lave små programerbare robotter til at klare alt ens arbejde (hvis man er sej nok til programmering) alle programmerne skrives i LUA, og kan være alt fra at få robotten, eller turtlen som de kaldes, til at flytte sig lidt, og så til at bygge et helt hus...

Der er en YouTuber der lige har startet en god tutorial serie i programmering med udgangspunkt i turtles (på engelsk, men giver en ide om sværhedsgrad og hvad man kan opnå) første episode findes her: http://www.youtube.com/watch?v=DSsx4VSe-Uk

Klaus Hebsgaard

Du siger at du ville lave et mod fordi du gerne ville have dine børn til at programmere, hvis børn skal kode er minecraft mods ikke det oplagte sted at starte...

Hvis du spørger mig, findes der derimod et fremragende værktøj kaldet scratch, som er fantastisk til at lære børn det helt grundlæggende:
http://scratch.mit.edu/

Jeg har iøvrigt tænkt lidt over hvad børn burde lære om computere generelt:
http://gistblog.herokuapp.com/gist/3295329

Anne-Sofie Nielsen

Hvis du spørger mig, findes der derimod et fremragende værktøj kaldet scratch, som er fantastisk til at lære børn det helt grundlæggende:
http://scratch.mit.edu/

Jeg har haft Scratch fremme og lege med sammen med børnene for nogle år siden (se også tidligere blogindlæg http://www.version2.dk/blog/jaoo-alle-skal-programmere-16510) men de tabte hurtigt interessen. Det kan være, at de var for små dengang, men umiddelbart tror jeg også, at Minecraft vil have langt større appel, fordi det er noget, som næsten alle børn i en vis alder spiller pt.

Benjamin Kristensen

Jeg har haft Scratch fremme og lege med sammen med børnene for nogle år siden (se også tidligere blogindlæg http://www.version2.dk/blog/jaoo-alle-skal-programmere-16510) men de tabte hurtigt interessen. Det kan være, at de var for små dengang, men umiddelbart tror jeg også, at Minecraft vil have langt større appel, fordi det er noget, som næsten alle børn i en vis alder spiller pt.

Nu har jeg selv arbejdet med Scratch en gang i skolen, og det er det værste jeg nogen sinde har haft med at gøre, jeg ved ikke om det var fordi det var under mit niveau eller hvad det var, men jeg fandt det i hvert fald meget fustrerende at skulle trække rundt med alt, og så syntes jeg faktisk koden er meget uoverskuelig... Og så er det LANGSOMT loops kan ikke bruges til noget nyttigt fordi de kører så langsomt...

Men det er selvfølgelig bare min mening...

Martin Pedersen

Ville lige anbefale den her blog, der både har video og tekst tutorials i minecraft modding.
Bloggen koncentrerer sig om Forge modding, som de fleste af de store mods er begyndt at køre med. De bliver lettere at programmere og installere hvis man ikke starter på bar bund.
Nød artiklen, hygge :)

Christian Due

Da jeg læste denne nyhed kom jeg strakt i tanke om denne tråd, det spændende er at de har arbejdet på at implementere mulighederne for udvikling bedre og at du for 450 kr kan lave en pc til dine børn som kan sluttes til deres tv og så kan de spille minecraft

http://techcrunch.com/2013/02/11/minecraft-pi-edition-brings-mojangs-wor...)

Log ind eller opret en konto for at skrive kommentarer

IT Businesses