Compare commits
8 Commits
974d460061
...
2f88eedce9
Author | SHA1 | Date | |
---|---|---|---|
|
2f88eedce9 | ||
|
a0893f2b29 | ||
|
b1a592dbbd | ||
|
f336e3d736 | ||
|
d953bd4cf6 | ||
|
fc43985337 | ||
|
6b1157147d | ||
|
e6d29576e7 |
|
@ -217,6 +217,17 @@ function command(username, message) {
|
||||||
subcommand("go follow once")
|
subcommand("go follow once")
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "ride":
|
||||||
|
case "mount":
|
||||||
|
cfg.plugins.mover.command(message_parts)
|
||||||
|
break
|
||||||
|
case "unride":
|
||||||
|
case "getoff":
|
||||||
|
case "unmount":
|
||||||
|
case "dismount":
|
||||||
|
bot.dismount()
|
||||||
|
bot.vehicle = void 0
|
||||||
|
break
|
||||||
case "move":
|
case "move":
|
||||||
case "go":
|
case "go":
|
||||||
cfg.plugins.mover.command(message_parts.slice(1), player)
|
cfg.plugins.mover.command(message_parts.slice(1), player)
|
||||||
|
@ -318,18 +329,6 @@ function command(username, message) {
|
||||||
case "info":
|
case "info":
|
||||||
cfg.plugins.informer.command(message_parts.splice(1))
|
cfg.plugins.informer.command(message_parts.splice(1))
|
||||||
break
|
break
|
||||||
case "ride":
|
|
||||||
case "mount":
|
|
||||||
bot.mount(bot.nearestEntity())
|
|
||||||
break
|
|
||||||
case "getoff":
|
|
||||||
case "unmount":
|
|
||||||
case "dismount":
|
|
||||||
bot.dismount()
|
|
||||||
break
|
|
||||||
case "go":
|
|
||||||
bot.moveVehicle(0, 10)
|
|
||||||
break
|
|
||||||
// case "use":
|
// case "use":
|
||||||
// bot.useOn(bot.nearestEntity())
|
// bot.useOn(bot.nearestEntity())
|
||||||
// break;
|
// break;
|
||||||
|
|
|
@ -67,8 +67,8 @@ function follow(entity, dynamic = true, distance = 3) {
|
||||||
console.assert(entity)
|
console.assert(entity)
|
||||||
const { GoalFollow } = require('mineflayer-pathfinder').goals
|
const { GoalFollow } = require('mineflayer-pathfinder').goals
|
||||||
|
|
||||||
cfg.quiet && console.log(entity)
|
// console.log(entity)
|
||||||
|| bot.chat(
|
cfg.quiet || bot.chat(
|
||||||
`following ${entity.type
|
`following ${entity.type
|
||||||
}: ${entity.username || entity.displayName
|
}: ${entity.username || entity.displayName
|
||||||
}${dynamic ? "" : " once"}`
|
}${dynamic ? "" : " once"}`
|
||||||
|
@ -82,6 +82,38 @@ function follow(entity, dynamic = true, distance = 3) {
|
||||||
bot.pathfinder.setGoal(new GoalFollow(entity, distance), dynamic)
|
bot.pathfinder.setGoal(new GoalFollow(entity, distance), dynamic)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ride(entity) {
|
||||||
|
entity = entity?.entity || entity
|
||||||
|
const ridableMobs = ["Horse", "Donkey", "Pig", "Strider"]
|
||||||
|
const vehicle = entity && typeof entity !== "string" ? entity : bot.nearestEntity(e => {
|
||||||
|
if (typeof entity === "string") return e.name === entity
|
||||||
|
const maybeRidableMob = e.mobType?.split(" ")
|
||||||
|
return e.kind == "Vehicles"
|
||||||
|
|| ridableMobs.includes(e.mobType)
|
||||||
|
|| maybeRidableMob && ridableMobs.includes(maybeRidableMob[maybeRidableMob.length - 1])
|
||||||
|
})
|
||||||
|
if (!vehicle) {
|
||||||
|
return cfg.quiet || bot.chat(`nothing to ride!`)
|
||||||
|
} else if ((dist = bot.entity.position.distanceSquared(vehicle.position)) > 36) {
|
||||||
|
bot.lookAt(vehicle.position)
|
||||||
|
follow(vehicle, false)
|
||||||
|
bot.once('goal_reached', ride)
|
||||||
|
return cfg.quiet || bot.chat(`${vehicle.name} bit far`)
|
||||||
|
}
|
||||||
|
console.log("vehicle:", vehicle)
|
||||||
|
bot.mount(vehicle)
|
||||||
|
}
|
||||||
|
|
||||||
|
function moveOrRide(turn = false, reverse = -1, directionLabel, message_parts2) {
|
||||||
|
// bot.once("attach", state = "vehiccel")
|
||||||
|
if (bot.vehicle) {
|
||||||
|
const amount = parseInt(message_parts2[0]) || 10 * -reverse
|
||||||
|
bot.moveVehicle(turn && amount || 0, !turn && amount || 0)
|
||||||
|
} else {
|
||||||
|
command([directionLabel].concat(message_parts2))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function hit(blockOrEntity) {
|
function hit(blockOrEntity) {
|
||||||
bot.chat(`hitting ${entity.name || entity.type}`)
|
bot.chat(`hitting ${entity.name || entity.type}`)
|
||||||
}
|
}
|
||||||
|
@ -194,21 +226,25 @@ function command(message_parts, player) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
case "ride":
|
||||||
|
case "mount":
|
||||||
|
ride(message_parts2[0])
|
||||||
|
break
|
||||||
case "w":
|
case "w":
|
||||||
case "f":
|
case "f":
|
||||||
command(["forward"].concat(message_parts.slice(1)))
|
moveOrRide(0, -1, "forward", message_parts2)
|
||||||
break
|
break
|
||||||
case "s":
|
case "s":
|
||||||
case "b":
|
case "b":
|
||||||
command(["back"].concat(message_parts.slice(1)))
|
moveOrRide(0, 1, "back", message_parts2)
|
||||||
break
|
break
|
||||||
case "a":
|
case "a":
|
||||||
case "l":
|
case "l":
|
||||||
command(["right"].concat(message_parts.slice(1)))
|
moveOrRide(1, -1, "right", message_parts2)
|
||||||
break
|
break
|
||||||
case "d":
|
case "d":
|
||||||
case "r":
|
case "r":
|
||||||
command(["left"].concat(message_parts.slice(1)))
|
moveOrRide(1, 1, "left", message_parts2)
|
||||||
break
|
break
|
||||||
case "back":
|
case "back":
|
||||||
case "forward":
|
case "forward":
|
||||||
|
@ -220,7 +256,7 @@ function command(message_parts, player) {
|
||||||
console.info(bot.controlState[message_parts[0]], bot.entity.position.floored())
|
console.info(bot.controlState[message_parts[0]], bot.entity.position.floored())
|
||||||
bot.setControlState(message_parts[0], true)
|
bot.setControlState(message_parts[0], true)
|
||||||
console.info(bot.controlState[message_parts[0]])
|
console.info(bot.controlState[message_parts[0]])
|
||||||
setTimeout(bot.setControlState, 200 * (message_parts[1] || 1), message_parts[0], false)
|
setTimeout(bot.setControlState, 100 * (message_parts[1] || 2), message_parts[0], false)
|
||||||
setTimeout(console.info, 5000, bot.controlState[message_parts[0]], bot.entity.position.floored())
|
setTimeout(console.info, 5000, bot.controlState[message_parts[0]], bot.entity.position.floored())
|
||||||
break
|
break
|
||||||
case "stop":
|
case "stop":
|
||||||
|
@ -256,4 +292,9 @@ const unload = () => {
|
||||||
bot.off('goal_reached', goalReached)
|
bot.off('goal_reached', goalReached)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = { load, unload, command, stop, initMoves, moveNear, moveXZ, moveY, follow }
|
module.exports = {
|
||||||
|
load, unload, command,
|
||||||
|
stop, initMoves,
|
||||||
|
moveNear, moveXZ, moveY, follow,
|
||||||
|
ride
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user