因此,我一直试图制作一个跟随我的“我的世界”角色(playerCI = bot.players["Cyberyes"])的机器人,但是当我尝试启动它时,我得到了以下错误:
开始..。C:\Users\Jakob\Documents\Minecraft\Bot\FirstBot\node_modules\mineflayer-pathfinder\lib\movements.js:35 this.blocksCantBreak.add(mcData.blocksByName.chest.id) ^
(C:\Users\Jakob\Documents\Minecraft\Bot\FirstBot\node_modules\mineflayer-pathfinder\lib\movements.js:35:37) at EventEmitter.followPlayer (C:\Users\Jakob\Documents\Minecraft\Bot\FirstBot\main.js:28:23) at Object.onceWrapper (节点:事件:509:28)在EventEmitter.emit (节点:事件:402:35)处,TypeError:无法读取未定义的属性(读取“blocksByName”)。(C:\Users\Jakob\Documents\Minecraft\Bot\FirstBot\node_modules\mineflayer\lib\plugins\health.js:13:11) at Object.onceWrapper (节点:510:26)在Client.emit (节点:402:35)在FullPacketParser。(C:\Users\Jakob\Documents\Minecraft\Bot\FirstBot\node_modules\minecraft-protocol\src\client.js:91:12) at FullPacketParser.emit (节点:390:28)
这是我的守则:
console.log("Starting...")
const mineflayer = require('mineflayer')
const { pathfinder, Movements, goals } = require('mineflayer-pathfinder')
const GoalFollow = goals.GoalFollow
var settings = {
username: "Bot",
host: "185.245.96.138",
port: "25592",
version: "1.16.5",
}
const bot = mineflayer.createBot(settings)
bot.loadPlugin(pathfinder)
function followPlayer() {
const playerCI = bot.players['Cyberyes']
if (!playerCI || !playerCI.entity) {
bot.chat("I can't see Cyberyes!")
return
}
const mcData = require('minecraft-data')(bot.version)
const movements = new Movements(bot, mcData)
bot.pathfinder.setMovements(movements)
const goal = new GoalFollow(playerCI.entity, 1)
bot.pathfinder.setGoal(goal, true)
}
bot.once("spawn", followPlayer)发布于 2022-11-14 11:18:33
我也犯了同样的错误,我可以用这样的函数来解决这个问题,我的代码是用Python编写的,但是不应该有太多不同的JavaScript。
def initMovement():
movements = pathfinder.Movements(bot)
#If you want to Deactivate sth
movements.canDig = False
bot.pathfinder.setMovements(movements)此功能在生成机器人后调用。
https://stackoverflow.com/questions/70227790
复制相似问题