LookAtMySuitBot/js/bot.js

53 lines
1.9 KiB
JavaScript
Raw Normal View History

2023-12-24 20:08:39 -05:00
const mineflayer = require('mineflayer')
const { pathfinder, Movements, goals: { GoalNear } } = require('mineflayer-pathfinder')
const fs = require('fs');
global.bot = null
global.defaultMove = null
module.exports = {
get: function () {
return global.bot
},
create: function () {
const data = fs.readFileSync('.env').toString();
const sp = data.split('\n')
global.bot = mineflayer.createBot({
host: 'sc.on.underlying.skynet.tpgc.me',
port: 25565,
auth: 'microsoft',
username: sp[0],
password: sp[1]
})
global.bot.loadPlugin(pathfinder)
return global.bot
},
spawn: function () {
global.defaultMove = new Movements(bot)
},
printWelcomeChat: function () {
bot.chat('<gradient:#199be6:#46d61a:#ebac1a>Cum Bot v0.1')
bot.chat('<#46d61a>For a list of commands do !help')
bot.chat('<#9d9e9e>-----------------------------------')
},
printHelpmessage: function () {
bot.chat("<#9d9e9e>-----------------------------------")
bot.chat("<#46d61a>!spawn - Prints out the world spawn")
bot.chat("<#46d61a>!goto - Send the bot to a position")
bot.chat("<#46d61a>!follow - Follow you")
bot.chat("<#46d61a>!come - Goto your current position")
bot.chat("<#9d9e9e>-----------------------------------")
},
come: function (username) {
const target = global.bot.players[username]?.entity
if (!target) {
bot.chat("I am unable to see you!")
return
}
const { x: playerX, y: playerY, z: playerZ } = target.position
const RANGE_GOAL = 1 // get within this radius of the player
global.bot.pathfinder.setMovements(defaultMove)
global.bot.pathfinder.setGoal(new GoalNear(playerX, playerY, playerZ, RANGE_GOAL))
}
}