1.BOT尋路
const mineflayer = require('mineflayer');
const { pathfinder, Movements, goals } = require('mineflayer-pathfinder');
// 創建一個 Mineflayer 客戶端
const bot = mineflayer.createBot({
host: 'your.minecraft.server', // Minecraft 伺服器地址
username: 'your_bot_username' // 你的機器人的使用者名稱
});
// 設置機器人使用路徑規劃和移動
bot.loadPlugin(pathfinder);
bot.once('spawn', () => {
const mcData = require('minecraft-data')(bot.version);
const movements = new Movements(bot, mcData);
movements.scafoldingBlocks = []; // 可選:設置機器人建造時使用的方塊
bot.on('path_update', (r) => {
if (r.status === 'noPath') {
bot.chat('無法到達目的地!');
} else if (r.status === 'complete') {
bot.chat('已到達目的地!');
}
});
bot.on('chat', (username, message) => {
if (username === bot.username) return;
if (message === 'come') {
const player = bot.players[username];
if (!player) {
bot.chat("我找不到你,我不知道要去哪裡。");
return;
}
const pos = player.entity.position.offset(1, 0, 1);
const goal = new goals.GoalBlock(pos.x, pos.y, pos.z);
bot.pathfinder.setGoal(goal);
bot.chat(`我要來了,${username}!`);
}
});
});
// 監聽機器人的登入信息
bot.on('login', () => {
console.log(`機器人 ${bot.username} 登入了!`);
});
2.BOT瞬移
// 創建一個 Mineflayer 客戶端
const bot = mineflayer.createBot({
host: 'your.minecraft.server', // Minecraft 伺服器地址
username: 'your_bot_username' // 你的機器人的使用者名稱
});
// 監聽機器人的登入信息
bot.on('login', () => {
console.log(`機器人 ${bot.username} 登入了!`);
// 瞬間移動到指定座標 (x, y, z)
teleportTo(100, 70, 200);
});
// 定義瞬間移動函式
function teleportTo(x, y, z) {
bot.teleport({
x: x,
y: y,
z: z
}, () => {
console.log(`已將機器人移動到座標 (${x}, ${y}, ${z})`);
});
}