2025年8月9日土曜日

Mineflayer 超入門

Mineflayer 超入門

概要

Mineflayer はマイクラのボットを作成できるライブラリです
今回はとりあえずボットを参加させるところまでやってみました

なお

環境

  • macOS 15.6
  • Minecraft 1.21.4
  • nodejs 22.15.1
  • mineflayer 4.31.0

注意点

執筆時点でのマイクラの最新バージョンは 1.21.8 ですが mineflayer 4.31.0 では 1.21.4 までしか動作しないため注意してください

マイクラの起動と公開

マイクラを起動したら設定からLANの公開に移動します
ポートは25565にします
あとは「LANワールドを公開」でOKです

ボットの作成

まずはライブラリをインストールします

  • echo 'v22.15.1' > .nvmrc
  • npm init -y
  • npm install mineflayer

準備できたらボットを書いていきます
とりあえず今回はワールドに参加しチャットのやり取りが行えるボットを作成します

  • vim test.js
const mineflayer = require("mineflayer");

// Bot の設定
const bot = mineflayer.createBot({
  host: "localhost", // Minecraft サーバーの IP またはホスト名
  port: 25565, // サーバーポート(デフォルト 25565)
  username: "My_First_Bot", // オフラインモードなら自由、オンラインモードなら Mojang/Microsoft アカウントが必要
  version: false, // サーバーのバージョン(false なら自動検出)
});

// ログイン時
bot.on("spawn", () => {
  console.log("Bot がログインしました!");
  bot.chat("こんにちは!Bot君です!");
});

// チャット受信時
bot.on("chat", (username, message) => {
  console.log(`[${username}]: ${message}`);
  if (username === bot.username) return; // 自分の発言は無視

  if (message === "ping") {
    bot.chat("pong!");
  }
});

// エラーや終了時
bot.on("error", (err) => console.log("エラー:", err));
bot.on("end", () => console.log("Bot が切断されました"));

動作確認

マイクラが起動した状態でボットを起動します

  • node test.js

これでボットが参加しチャット欄に「ping」と送信すると「pong」が返ってくることが確認できます

最後に

mineflayer を使って簡単なボットを作成してみました
そのうち最新のマイクラまでバージョン追従すると思いますが現状では 1.21.4 までしか動きませんでした

今回は JavaEdition のマイクラを LAN に公開してボットを参加させましたがマイクラサーバでも同じ手順で参加させることができるのですでにサーバがある場合にはそれを使っても OK です

次回以降はこのボットにいろいろな機能をつけていきたいと思います

参考サイト

0 件のコメント:

コメントを投稿