@nxg-org/mineflayer-custom-pvp
Version:
Intermediate functionality for bow and sword pvp.
79 lines (78 loc) • 2.03 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getConfig = exports.defaultConfig = void 0;
exports.defaultConfig = {
genericConfig: {
viewDistance: 128,
attackRange: 3,
tooCloseRange: 2.5,
missChancePerTick: 0.0,
enemyReach: 3,
hitThroughWalls: false,
},
tapConfig: {
enabled: true,
mode: "wtap",
delay: 0,
},
strafeConfig: {
enabled: true,
mode: {
mode: "intelligent",
maxOffset: Math.PI / 2,
},
},
critConfig: {
enabled: true,
mode: "hop",
attemptRange: 2,
reaction: {
enabled: true,
maxPreemptiveTicks: 1,
maxWaitTicks: 5,
maxWaitDistance: 5,
},
},
onHitConfig: {
enabled: true,
mode: "backoff",
kbCancel: {
enabled: true,
mode: "jump",
},
},
rotateConfig: {
enabled: true,
smooth: false,
lookAtHidden: true,
mode: "constant",
},
shieldConfig: {
enabled: true,
mode: "legit",
},
shieldDisableConfig: {
enabled: true,
mode: "single", // not used rn
},
swingConfig: {
mode: "fullswing",
},
followConfig: {
mode: "standard",
distance: 3,
predictTicks: 4,
},
cps: 15
};
function getConfig(bot) {
// deep clone the default config
const ret = JSON.parse(JSON.stringify(exports.defaultConfig));
if (bot.supportFeature('doesntHaveOffHandSlot')) {
ret.critConfig.reaction.enabled = false; // don't bother, just hit when you can
ret.shieldDisableConfig.enabled = false; // no offhand, no need to disable shield
ret.shieldConfig.enabled = false; // no offhand, no need to use shield
}
return ret;
}
exports.getConfig = getConfig;