UNPKG

farming-weight

Version:

Tools for calculating farming weight and fortune in Hypixel Skyblock

87 lines (86 loc) 3.71 kB
import { Crop } from '../constants/crops.js'; import { Rarity, Reforge, ReforgeTarget, ReforgeTier } from '../constants/reforges.js'; import { SpecialCrop } from '../constants/specialcrops.js'; import { FortuneSourceProgress } from '../constants/upgrades.js'; import { ArmorSetBonus, FarmingArmorInfo, GearSlot } from '../items/armor.js'; import { PlayerOptions } from '../player/playeroptions.js'; import { FarmingEquipment } from './farmingequipment.js'; import { EliteItemDto } from './item.js'; import { UpgradeableBase, UpgradeableInfo } from './upgradeable.js'; export interface ActiveArmorSetBonus { count: number; from: GearSlot[]; bonus: ArmorSetBonus; special?: SpecialCrop[]; } export declare class ArmorSet { helmet?: FarmingArmor; chestplate?: FarmingArmor; leggings?: FarmingArmor; boots?: FarmingArmor; get armor(): (FarmingArmor | null)[]; necklace?: FarmingEquipment; cloak?: FarmingEquipment; belt?: FarmingEquipment; gloves?: FarmingEquipment; get equipment(): (FarmingEquipment | null)[]; pieces: FarmingArmor[]; equipmentPieces: FarmingEquipment[]; armorFortune: number; equipmentFortune: number; get fortune(): number; setBonuses: ActiveArmorSetBonus[]; equipmentSetBonuses: ActiveArmorSetBonus[]; constructor(armor: FarmingArmor[], equipment?: FarmingEquipment[], options?: PlayerOptions); setArmor(armor: FarmingArmor[]): void; setEquipment(equipment: FarmingEquipment[]): void; setOptions(options: PlayerOptions): void; getPiece(slot: GearSlot): FarmingArmor | FarmingEquipment | undefined; setPiece(armor: FarmingArmor | FarmingEquipment): void; private recalculateFamilies; static getSetBonusFrom(armor: (FarmingArmor | FarmingEquipment | null)[]): { count: number; from: GearSlot[]; bonus: ArmorSetBonus; special: SpecialCrop[] | undefined; }[]; getFortuneBreakdown(reloadFamilies?: boolean): Record<string, number>; specialDropsCalc(blocksBroken: number, crop: Crop): { type: SpecialCrop; amount: number; npc: number; } | null; specialDropsCount(crop: Crop): 0 | 2 | 1 | 3 | 4; getProgress(zeroed?: boolean): FortuneSourceProgress[]; getPieceProgress(slot: GearSlot): FortuneSourceProgress[]; get slots(): Record<GearSlot, FarmingArmor | FarmingEquipment | undefined>; get slotOptions(): Record<GearSlot, (FarmingArmor | FarmingEquipment)[]>; } export declare class FarmingArmor extends UpgradeableBase { readonly item: EliteItemDto; readonly info: FarmingArmorInfo; get type(): ReforgeTarget; get armor(): FarmingArmorInfo; get slot(): GearSlot; readonly rarity: Rarity; readonly reforge: Reforge | undefined; readonly reforgeStats: ReforgeTier | undefined; readonly recombobulated: boolean; get potential(): number; fortune: number; fortuneBreakdown: Record<string, number>; options?: PlayerOptions; constructor(item: EliteItemDto, options?: PlayerOptions); setOptions(options: PlayerOptions): void; getFortune(): number; getUpgrades(): import("../constants/upgrades.js").FortuneUpgrade[]; getItemUpgrade(): import("../constants/upgrades.js").Upgrade | undefined; getLastItemUpgrade(): { upgrade: import("../constants/upgrades.js").Upgrade; info: UpgradeableInfo; } | undefined; getProgress(zeroed?: boolean): FortuneSourceProgress[]; static isValid(item: EliteItemDto): boolean; static fromArray(items: EliteItemDto[], options?: PlayerOptions): FarmingArmor[]; static fakeItem(info: UpgradeableInfo, options?: PlayerOptions): FarmingArmor | undefined; }