refactor(mover): 🚚 move commands inside mover plugin itself
This reduces the code inside the command plugin. Most of the logic was only relevant to moving anyway. Command aliases like `come` and `follow` still remain in command plugin.
This commit is contained in:
parent
7050a1621b
commit
cc18ac5c2e
|
@ -219,100 +219,7 @@ function command(username, message) {
|
|||
break;
|
||||
case "move":
|
||||
case "go":
|
||||
// TODO move most of the subcommands into mover.js?
|
||||
const message_parts2 = message_parts.slice(2)
|
||||
switch (message_parts[1]) {
|
||||
case "init":
|
||||
cfg.plugins.mover.initMoves()
|
||||
break
|
||||
case "near":
|
||||
// message_parts2 = message_parts.slice(2)
|
||||
switch (message_parts2.length) {
|
||||
case 0:
|
||||
cfg.plugins.mover.moveNear(bot.nearestEntity().position)
|
||||
break
|
||||
case 1:
|
||||
switch (message_parts2[0]) {
|
||||
case "me":
|
||||
if (player) {
|
||||
cfg.plugins.mover.moveNear(player.position)
|
||||
} else {
|
||||
cfg.quiet || bot.chat("can't see you")
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
const aPlayer = bot.players[message_parts[2]] ? bot.players[message_parts[2]].entity : null
|
||||
if (aPlayer) {
|
||||
cfg.plugins.mover.moveNear(aPlayer.position)
|
||||
} else {
|
||||
cfg.quiet || bot.chat(`can't see ${message_parts[2]}`)
|
||||
}
|
||||
break;
|
||||
}
|
||||
break
|
||||
case 2:
|
||||
//TODO this isn't near
|
||||
cfg.plugins.mover.moveXZ(message_parts2)
|
||||
break
|
||||
case 3:
|
||||
//TODO more checks
|
||||
cfg.plugins.mover.moveNear(message_parts2)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
break
|
||||
|
||||
case "follow":
|
||||
// message_parts2 = message_parts.slice(2)
|
||||
switch (message_parts2.length) {
|
||||
case 0:
|
||||
cfg.plugins.mover.follow(bot.nearestEntity())
|
||||
break
|
||||
case 1:
|
||||
let dist = 3
|
||||
switch (message_parts2[0]) {
|
||||
case "close":
|
||||
dist = 1
|
||||
case "me":
|
||||
case "once":
|
||||
if (player) {
|
||||
cfg.plugins.mover.follow(player, message_parts2[0] === "me", dist)
|
||||
} else {
|
||||
cfg.quiet || bot.chat("can't see you")
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
const aPlayer = bot.players[message_parts[2]] ? bot.players[message_parts[2]].entity : null
|
||||
if (aPlayer) {
|
||||
cfg.plugins.mover.follow(aPlayer)
|
||||
} else {
|
||||
cfg.quiet || bot.chat(`can't see ${message_parts[2]}`)
|
||||
}
|
||||
break;
|
||||
}
|
||||
break
|
||||
// case 2:
|
||||
// bot.lookAt({}) goalxz?
|
||||
// break
|
||||
// case 3:
|
||||
//TODO more checks
|
||||
// cfg.plugins.mover.moveNear(message_parts2)
|
||||
// break
|
||||
default:
|
||||
todo()
|
||||
break
|
||||
}
|
||||
break
|
||||
case "stop":
|
||||
cfg.plugins.mover.stop()
|
||||
break
|
||||
default:
|
||||
return todo()
|
||||
break;
|
||||
}
|
||||
cfg.plugins.mover.command(message_parts.slice(1), player)
|
||||
break;
|
||||
|
||||
case "attack":
|
||||
|
|
|
@ -108,6 +108,101 @@ function stop() {
|
|||
bot.stopDigging()
|
||||
}
|
||||
|
||||
function command(message_parts, player) {
|
||||
const message_parts2 = message_parts.slice(1)
|
||||
switch (message_parts[0]) {
|
||||
case "init":
|
||||
initMoves()
|
||||
break
|
||||
case "near":
|
||||
switch (message_parts2.length) {
|
||||
case 0:
|
||||
moveNear(bot.nearestEntity().position)
|
||||
break
|
||||
case 1:
|
||||
switch (message_parts2[0]) {
|
||||
case "me":
|
||||
if (player) {
|
||||
moveNear(player.position)
|
||||
} else {
|
||||
cfg.quiet || bot.chat("can't see you")
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
const aPlayer = bot.players[message_parts2[0]] ? bot.players[message_parts2[0]].entity : null
|
||||
if (aPlayer) {
|
||||
moveNear(aPlayer.position)
|
||||
} else {
|
||||
cfg.quiet || bot.chat(`can't see ${message_parts2[0]}`)
|
||||
}
|
||||
break;
|
||||
}
|
||||
break
|
||||
case 2:
|
||||
//TODO this isn't near
|
||||
moveXZ(message_parts2)
|
||||
break
|
||||
case 3:
|
||||
//TODO more checks
|
||||
moveNear(message_parts2)
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
break
|
||||
|
||||
case "follow":
|
||||
// message_parts2 = message_parts.slice(2)
|
||||
switch (message_parts2.length) {
|
||||
case 0:
|
||||
follow(bot.nearestEntity())
|
||||
break
|
||||
case 1:
|
||||
let dist = 3
|
||||
switch (message_parts2[0]) {
|
||||
case "close":
|
||||
dist = 1
|
||||
case "me":
|
||||
case "once":
|
||||
if (player) {
|
||||
follow(player, message_parts2[0] === "me", dist)
|
||||
} else {
|
||||
cfg.quiet || bot.chat("can't see you")
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
const aPlayer = bot.players[message_parts2[0]] ? bot.players[message_parts2[0]].entity : null
|
||||
if (aPlayer) {
|
||||
follow(aPlayer)
|
||||
} else {
|
||||
cfg.quiet || bot.chat(`can't see ${message_parts2[0]}`)
|
||||
}
|
||||
break;
|
||||
}
|
||||
break
|
||||
// case 2:
|
||||
// bot.lookAt({}) goalxz?
|
||||
// break
|
||||
// case 3:
|
||||
//TODO more checks
|
||||
// moveNear(message_parts2)
|
||||
// break
|
||||
default:
|
||||
cfg.quiet || bot.chat("unknown or bad command")
|
||||
break
|
||||
}
|
||||
break
|
||||
case "stop":
|
||||
stop()
|
||||
break
|
||||
default:
|
||||
return cfg.quiet || bot.chat(`unknown command ${message_parts[0]}`)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const load = (config) => {
|
||||
cfg = config
|
||||
bot = cfg.bot
|
||||
|
@ -133,4 +228,4 @@ const unload = () => {
|
|||
bot.off('goal_reached', goalReached)
|
||||
}
|
||||
|
||||
module.exports = { load, unload, stop, initMoves, moveNear, moveXZ, moveY, follow }
|
||||
module.exports = { load, unload, command, stop, initMoves, moveNear, moveXZ, moveY, follow }
|
Loading…
Reference in New Issue
Block a user