feat(mover): add close(er) command to follow / come closer

This commit is contained in:
jay 2021-01-05 08:11:11 +05:00
parent 8e719d5ccf
commit 69d0f5830d
2 changed files with 14 additions and 4 deletions

View File

@ -196,7 +196,14 @@ function command(username, message) {
subcommand("go follow " + message_parts.slice(2).join(" "))
break;
case "come":
switch (message_parts[1]) {
case "close":
case "closer":
subcommand("go follow close")
break
default:
subcommand("go follow once")
}
break;
case "move":
case "go":
@ -252,11 +259,14 @@ function command(username, message) {
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] !== "once")
cfg.plugins.mover.follow(player, message_parts2[0] === "me", dist)
} else {
cfg.quiet || bot.chat("can't see you")
}

View File

@ -37,7 +37,7 @@ function moveNear(pos, distance = 3) {
bot.pathfinder.setGoal(new GoalNear(pos.x, pos.y, pos.z, distance))
}
function follow(entity, dynamic = true) {
function follow(entity, dynamic = true, distance = 3) {
console.assert(entity)
const { GoalFollow } = require('mineflayer-pathfinder').goals
@ -53,7 +53,7 @@ function follow(entity, dynamic = true) {
// console.log(entity)
bot.pathfinder.setMovements(movements.defaultMove)
bot.pathfinder.setGoal(new GoalFollow(entity, 3), dynamic)
bot.pathfinder.setGoal(new GoalFollow(entity, distance), dynamic)
}
function hit(blockOrEntity) {