feat: add a basic feature to rejoin on server restart
This commit is contained in:
parent
0ae961521f
commit
086251bce6
15
lib/index.js
15
lib/index.js
|
@ -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({
|
||||
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,
|
||||
})
|
||||
}
|
||||
:
|
||||
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 bot = mineflayer.createBot(options)
|
||||
|
||||
cfg.botOptions = options
|
||||
|
||||
|
||||
let plugins = {}
|
||||
|
|
|
@ -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 = []
|
||||
|
|
Loading…
Reference in New Issue
Block a user