Compare commits

..

2 Commits

2 changed files with 28 additions and 15 deletions

View File

@ -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 = {}

View File

@ -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 = []
@ -183,7 +193,7 @@ function command(username, message) {
break; break;
case "follow": case "follow":
subcommand("go follow me") subcommand("go follow " + message_parts.slice(2).join(" "))
break; break;
case "come": case "come":
subcommand("go follow once") subcommand("go follow once")