const mineflayer = require('mineflayer');
const { pathfinder, Movements } = require('mineflayer-pathfinder');
const GoalFollow = require('mineflayer-pathfinder').goals.GoalFollow;
const bot = mineflayer.createBot({
host: 'localhost', // IP-адрес сервера
port: 25565, // порт сервера
username: 'Bot', // имя бота
});
bot.loadPlugin(pathfinder);
let targetPlayer = null;
bot.on('chat', (username, message) => {
// Убираем цветовые коды из имени пользователя
const cleanUsername = username.replace(/§[0-9a-fk-or]/g, '');
// Если сообщение содержит 'follow me', бот начинает следовать за игроком
if (message === 'follow me') {
targetPlayer = bot.players[cleanUsername];
if (!targetPlayer) {
bot.chat('I can\'t see you!');
return;
}
const { x, y, z } = targetPlayer.entity.position;
bot.pathfinder.setMovements(new Movements(bot, '1.16.4'));
bot.pathfinder.setGoal(new GoalFollow(targetPlayer.entity, 1), true);
}
// Если сообщение содержит 'stop', бот перестает следовать за игроком
if (message === 'stop') {
bot.pathfinder.setGoal(null);
targetPlayer = null;
}
});
Сергей БогдановУченик (75)
1 год назад
К сожалению - бот все равно не видит ник, я везде изменил null на ник, строка, где первый раз появился null, мне потребовали сделать кавычки, вокруг Ника. В остальных местах кавычки тоже теперь есть, но бот все же не подчиняется. Цветовой код буквы "m"
Сергей БогдановУченик (75)
1 год назад
Произошла некоторая ошибочка - бот делает все, как вы сделали, но только если определённый игрок имеет статус "Оператора" на сервере, покажите примерно код, пожалуйста.