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 mineflayer = require("mineflayer");
|
||||||
// const { createGetAccessor } = require('typescript');
|
// const { createGetAccessor } = require('typescript');
|
||||||
|
|
||||||
const bot =
|
const options = !isNaN(parseInt(process.argv[3])) && parseInt(process.argv[3]) > 1e2 ?
|
||||||
!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.
|
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,
|
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.
|
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,
|
username: process.argv[3] || process.env.MINECRAFT_USER || env.MINECRAFT_USER,
|
||||||
password: process.argv[4] || process.env.MINECRAFT_PASS || env.MINECRAFT_PASS,
|
password: process.argv[4] || process.env.MINECRAFT_PASS || env.MINECRAFT_PASS,
|
||||||
// port: process.argv[5] || process.env.MINECRAFT_PORT || 58471,
|
// port: process.argv[5] || process.env.MINECRAFT_PORT || 58471,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
const bot = mineflayer.createBot(options)
|
||||||
|
|
||||||
|
cfg.botOptions = options
|
||||||
|
|
||||||
|
|
||||||
let plugins = {}
|
let plugins = {}
|
||||||
|
|
|
@ -46,7 +46,17 @@ const events = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
, chat: command
|
, 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 = []
|
const events_registered = []
|
||||||
|
|
Loading…
Reference in New Issue
Block a user