| const mineflayer = require('mineflayer') |
| const mineflayerViewer = require('prismarine-viewer').mineflayer |
|
|
| const { pathfinder, Movements } = require('mineflayer-pathfinder') |
| const { GoalXZ } = require('mineflayer-pathfinder').goals |
|
|
| const bot = mineflayer.createBot({ |
| username: 'Bot' |
| }) |
|
|
| bot.loadPlugin(pathfinder) |
|
|
| bot.once('spawn', () => { |
| mineflayerViewer(bot, { firstPerson: true, port: 3000 }) |
|
|
| const path = [bot.entity.position.clone()] |
| bot.on('move', () => { |
| if (path[path.length - 1].distanceTo(bot.entity.position) > 1) { |
| path.push(bot.entity.position.clone()) |
| bot.viewer.drawLine('path', path) |
| } |
| }) |
|
|
| const mcData = require('minecraft-data')(bot.version) |
| const defaultMove = new Movements(bot, mcData) |
| bot.pathfinder.setMovements(defaultMove) |
| bot.pathfinder.setGoal(new GoalXZ(1000, 0)) |
| }) |