mandag den 1. februar 2016

Lav en Minecraft-Bot

Jeg har leget lidt rundt med et javascript library(bibliotek) til Node.js her i den seneste tid. Det hedder mineflayer og det gør en i stand til at lave bots som kan join en minecraft server.

Man kan programmerer botten til at gøre alt det som en normal spiller ville være i stand til. såsom at gå rundt i verdenen, mine, fælde træer, og skrive i chatten. Eksempler på hvad man kunne lave med den ville være at sætte den til at farme for en eller dræbe mostre. Man kan også som jeg har gjort lave en chatbot.


For at lave din egen Minecraft-bot skal du først havde installeret Node.js hvilket du kan hente fra deres hjemmeside nodejs.org.

når du har installeret Node.js skal du også havde installeret mineflayer biblioteket. det kan du gøre ved at åbne kommandoprompt/cmd og skive følgene.

npm install mineflayer

Som en start vil jeg bare vise hvordan man laver en bot der gentager hvad andre spillere skriver i chaten. Du  åbner en ny fil og skriver følgende i den


var mineflayer = require('mineflayer');

var bot = mineflayer.createBot({
  host: "123.456.78.9", // ip
  port: 25565,       // port
  username: "your@mail.com", 

  password: "pass",
}); 

bot.on('chat', function(username, message) {      
    if(username.indexOf(bot.username) >= 0) {

        return;
    }else{

        bot.chat(message);
    }
});

Og så gemmer du bare filen som bot.js.

Så nu er der kun tilbage at starte programmet. det gør du ved at starte kommandoprompt i den mappe du har gemt bot.js og så skriver du node bot.js
nu burde du kunne se botten joine den server du har valgt og den burde begynde at gentage alt der bliver skrevet i chatten.

Hvis du har fået blod på tanden og gerne vil prøve at lege lidt på egen hånd kan du tjekke bibliotekets side ud her https://github.com/PrismarineJS/mineflayer eller du kan tage et kig på følgende eksempler. https://github.com/PrismarineJS/mineflayer/tree/master/examples  og https://github.com/benjamin1313/Minecraft-Chatbot

Ingen kommentarer:

Tilføj en kommentar