你如何让机器人在 node-minecraft-protocol 中移动?

How do you get the bot to move in node-minecraft-protocol?

我正在尝试构建一个 JavaScript Minecraft 机器人。我试过 Mineflayer,但他们不支持 1.17.1 版本。那时我发现了 node-minecraft-protocol,这是 mineflayer 所基于的库。 他们支持1.17.1版本!在过去的三天里,我一直在尝试让我的机器人移动,但我无法从文档中弄清楚。我什至尝试查看 mineflayer 的代码!连接服务器,发送聊天信息,阅读聊天信息,阅读当前位置都可以!它正在移动给我带来麻烦的机器人。或者就此而言,飞行、观察或任何类似的东西(将 f64/f32 值作为输入)。为了让您了解我要实现的目标,这是我尝试过的东西 运行(-181.52092902441308、84 和 134.53013736121238 是生成坐标):

client.write('position', {
    x: -182.52092902441308,
    y: 84,
    z: 134.53013736121238
})

我已将其修复,以供所有正在寻找答案的人使用!问题出在 Minecraft 协议中的 1.17.1 更新。您需要发送 'teleport_confirm' 和随位置更新一起发送的 'teleportId' 才能真正移动机器人。