Ошибка ERR_ASSERTION: plugin needs to be a function указывает на то, что вы пытаетесь загрузить плагин, который не является функцией. Скорее всего, это связано с неправильным импортом или использованием плагина.
Убедитесь, что все зависимости установлены корректно:
npm install mineflayer mineflayer-pvp mineflayer-pathfinder mineflayer-armor-manager mineflayer-auto-eat mineflayer-collectblock
Проверьте, что все плагины импортируются и используются корректно.
const mineflayer = require('mineflayer')
const pvp = require('mineflayer-pvp').plugin
const { pathfinder, Movements, goals } = require('mineflayer-pathfinder')
const GoalFollow = goals.GoalFollow
const armorManager = require('mineflayer-armor-manager').plugin // добавлен .plugin
const autoeat = require('mineflayer-auto-eat').plugin // добавлен .plugin
const collectBlock = require('mineflayer-collectblock').plugin
const bot = mineflayer.createBot({
host: "localhost",
port: 60729,
username: "Bot"
})
bot.loadPlugin(pvp)
bot.loadPlugin(armorManager)
bot.loadPlugin(pathfinder)
bot.loadPlugin(autoeat)
bot.loadPlugin(collectBlock)
bot.once('spawn', () => {
console.log('Bot has spawned!')
})
// Далее добавьте свою логику бота
Я тебе не даю весь код а только суть для данного вопроса чтобы ты понимал что у тебя не так в коде
node:assert:408
throw err;
^
AssertionError [ERR_ASSERTION]: plugin needs to be a function
at EventEmitter.loadPlugin (C:\Users\1\node_modules\mineflayer\lib\plugin_loader.js:16:12)
at Object.<anonymous> (C:\Users\1\Downloads\ppnpc\TooSmartBot.js:19:5)
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Module._load (node:internal/modules/cjs/loader:1024:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
at node:internal/main/run_main_module:28:49 {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '=='
}
Node.js v20.13.1
Process finished with exit code 1
Код с гитхаба, менял только айпи, порт:
const mineflayer = require('mineflayer')
const pvp = require('mineflayer-pvp').plugin
const { pathfinder, Movements, goals} = require('mineflayer-pathfinder')
const GoalFollow = goals.GoalFollow
const armorManager = require('mineflayer-armor-manager')
const autoeat = require('mineflayer-auto-eat')
const collectBlock = require('mineflayer-collectblock').plugin
const bot = mineflayer.createBot({
host: "Localhost",
port: 60729,
username: "Bot"
})
bot.loadPlugin(pvp)
bot.loadPlugin(armorManager)
bot.loadPlugin(pathfinder)
bot.loadPlugin(autoeat)
bot.loadPlugin(collectBlock)
Это начало, все не лезет, гитхаб:
https://github.com/TS-Dudes/SmartMineBot