我正在尝试制作一个名为Mineflayer的Minecraft机器人,单击一个块,在本例中为“ Sign Block”。在这种情况下,我也无法处理Vec3。简而言之:我如何让机器人点击标志块。
我已经尝试参考Mineflayer的官方文档,但是完全没有解释。我也尝试过问一些使用Mineflayer的人,但是这些都不能帮助我。 下面是代码和我面临的错误。
const mineflayer = require('mineflayer')
const Vec3 = require('vec3');
const bot = mineflayer.createBot({
host: 'localhost',
port: 25564,
username: 'Minecharmer',
version: '1.12.2'
})
let blockAt = (x, y, z) => blockAt(new Vec3(x, y, z));
let blockAtVec3 = (v) => bot.blockAt(v);
let blockClick = (x, y, z, callback) => {
bot.activateBlock(blockAt(x, y, z), callback);
}
bot.on('chat', (username, message) => {
if (username == 'Username' && message == 'clickblock') {
startClicking();
}
})
function startClicking() {
blockClick(-74, 65, 254, () => {
console.log('Clicked block!')
startClicking();
});
}
RangeError: Maximum call stack size exceeded
答案 0 :(得分:-1)
为您的startClicking功能添加延迟。