Compare commits

...

5 Commits

Author SHA1 Message Date
jay
086251bce6 feat: add a basic feature to rejoin on server restart 2020-12-24 13:38:16 +05:00
jay
0ae961521f feat(command): expand follow to include rest of the !go follow sub commands 2020-12-24 11:57:23 +05:00
jay
eae4e95803 Merge branch 'nogameplay' into master 2020-12-24 11:28:22 +05:00
jay
fb066ee8a5 refactor: ♻️ use array in pathfinder movements list 2020-12-24 11:26:19 +05:00
jay
f4445749e6 fix: ✏️ add missing plugin name 2020-12-24 11:23:16 +05:00
4 changed files with 36 additions and 17 deletions

View File

@@ -9,19 +9,22 @@ let cfg = {
const mineflayer = require("mineflayer");
// const { createGetAccessor } = require('typescript');
const bot =
!isNaN(parseInt(process.argv[3])) && parseInt(process.argv[3]) > 1e2 ?
mineflayer.createBot({
host: process.argv[2] || process.env.MINECRAFT_HOST || env.MINECRAFT_HOST || 'localhost', // Change this to the ip you want.
port: parseInt(process.argv[3]) || process.env.MINECRAFT_PORT || env.MINECRAFT_PORT // || 58471,
})
:
mineflayer.createBot({
host: process.argv[2] || process.env.MINECRAFT_HOST || env.MINECRAFT_HOST || 'localhost', // Change this to the ip you want.
username: process.argv[3] || process.env.MINECRAFT_USER || env.MINECRAFT_USER,
password: process.argv[4] || process.env.MINECRAFT_PASS || env.MINECRAFT_PASS,
// port: process.argv[5] || process.env.MINECRAFT_PORT || 58471,
})
const options = !isNaN(parseInt(process.argv[3])) && parseInt(process.argv[3]) > 1e2 ?
{
host: process.argv[2] || process.env.MINECRAFT_HOST || env.MINECRAFT_HOST || 'localhost', // Change this to the ip you want.
port: parseInt(process.argv[3]) || process.env.MINECRAFT_PORT || env.MINECRAFT_PORT // || 58471,
}
:
{
host: process.argv[2] || process.env.MINECRAFT_HOST || env.MINECRAFT_HOST || 'localhost', // Change this to the ip you want.
username: process.argv[3] || process.env.MINECRAFT_USER || env.MINECRAFT_USER,
password: process.argv[4] || process.env.MINECRAFT_PASS || env.MINECRAFT_PASS,
// port: process.argv[5] || process.env.MINECRAFT_PORT || 58471,
}
const bot = mineflayer.createBot(options)
cfg.botOptions = options
let plugins = {}

View File

@@ -46,7 +46,17 @@ const events = {
}
}
, chat: command
, kicked: (reason, loggedIn) => console.warn(reason, loggedIn)
, kicked: function rejoin(reason, loggedIn) {
console.warn(reason, loggedIn && "logged_in")
if (reason.extra && reason.extra[0].text === "Server closed") {
bot.quit()
bot.end()
// TODO implement all startup features (maybe refactor all into a single function / module?)
setTimeout((bot, cfg) => {
bot = mineflayer.createBot(cfg.botOptions)
}, 15 * 60 * 1000, bot, cfg);
}
}
}
const events_registered = []
@@ -183,7 +193,7 @@ function command(username, message) {
break;
case "follow":
subcommand("go follow me")
subcommand("go follow " + message_parts.slice(2).join(" "))
break;
case "come":
subcommand("go follow once")

View File

@@ -16,12 +16,18 @@ let movements = []
function initMoves(bot = bot, mcData = require('minecraft-data')(bot.version)) {
console.info(movements)
if (movements.length > 0) {
bot.pathfinder.setMovements(defaultMove)
return console.warn("movements already initialized!")
}
let defaultMove = new Movements(bot, mcData)
defaultMove.canDig = false
defaultMove.scafoldingBlocks.push(mcData.blocksByName.slime_block.id)
// defaultMove.blocksCantBreak.add(mcData.blocksByName.glass.id)
// defaultMove.blocksToAvoid.add(mcData.blocksByName.magma.id)
movements.defaultMove = defaultMove
movements.push(defaultMove)
movements.defaultMove = movements[0]
bot.pathfinder.setMovements(defaultMove)
}

View File

@@ -27,7 +27,7 @@ function sleep(quiet) {
if (bed && bedstatus == "") {
bot.lookAt(bed.position)
bot.waitForChunksToLoad(() => {
cfg.plugins.moveNear(bed.position)
cfg.plugins.mover.moveNear(bed.position)
bot.sleep(bed, (err) => {
if (err) {
!quiet && bot.chat(`can't sleep: ${err.message}`)