farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
87 lines (86 loc) • 3.71 kB
TypeScript
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;
}