/// import { Bot } from "mineflayer"; import { Entity } from "prismarine-entity"; import { Item } from "prismarine-item"; import { EventEmitter } from "stream"; import { FullConfig } from "./swordconfigs"; import { MaxDamageOffset } from "./sworddata"; /** * The main pvp manager plugin class. */ export declare class SwordPvp extends EventEmitter { bot: Bot; options: FullConfig; ticksToNextAttack: number; ticksSinceTargetAttack: number; ticksSinceLastHurt: number; ticksSinceLastTargetHit: number; ticksSinceLastSwitch: number; wasInRange: boolean; wasVisible: boolean; meleeAttackRate: MaxDamageOffset; target?: Entity; lastTarget?: Entity; weaponOfChoice: string; private willBeFirstHit; private tickOverride; private targetShielding; private shieldToggleListener?; private currentStrafeDir?; private strafeCounter; private targetGoal?; constructor(bot: Bot, options?: FullConfig); changeWeaponState(weapon: string): Item | null; checkForWeapon(weapon?: string): Item | null; equipWeapon(weapon: Item): Promise; entityWeapon(entity?: Entity): Item; entityShieldStatus(entity?: Entity): boolean; checkForShield: () => Promise; swingUpdate: (entity: Entity) => Promise; private lastHealth; removalUpdate: (entity: Entity) => Promise; private clearShieldToggleListener; hurtUpdate: (entity: Entity) => Promise; attack(target: Entity): Promise; stop(): void; update: () => void; private getEntityEyeHeight; private getEntityEyePosition; botReach(): number; targetReach(): number; checkRange(): void; checkVisibility(): void; causeCritical(): Promise; doMove(): Promise; doStrafe(): Promise; sprintTap(): Promise; toggleShield(): Promise; rotate(): false | undefined; reactionaryCrit(noTickLimit?: boolean): Promise; attemptAttack(reason: string): Promise; shieldEquipped(): boolean; }