farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
77 lines (76 loc) • 2.33 kB
TypeScript
import { Crop } from '../constants/crops';
import { FarmingPetType } from '../constants/pets';
import { FarmingAccessory } from './farmingaccessory';
import { ArmorSet, FarmingArmor } from './farmingarmor';
import { FarmingEquipment } from './farmingequipment';
import { FarmingPet } from './farmingpet';
import { FarmingTool } from './farmingtool';
import { EliteItemDto } from './item';
export interface FortuneMissingFromAPI {
cropUpgrades?: Record<Crop, number>;
gardenLevel?: number;
plotsUnlocked?: number;
uniqueVisitors?: number;
communityCenter?: number;
milestones?: Partial<Record<Crop, number>>;
exportableCrops?: Partial<Record<Crop, boolean>>;
refinedTruffles?: number;
}
export interface ExtraFarmingFortune {
crop?: Crop;
name?: string;
fortune: number;
}
export interface PlayerOptions extends FortuneMissingFromAPI {
collection?: Record<string, number>;
farmingXp?: number;
farmingLevel?: number;
strength?: number;
tools?: EliteItemDto[] | FarmingTool[];
armor?: EliteItemDto[] | FarmingArmor[] | ArmorSet;
equipment?: EliteItemDto[] | FarmingEquipment[];
accessories?: EliteItemDto[] | FarmingAccessory[];
pets?: FarmingPetType[] | FarmingPet[];
selectedTool?: FarmingTool;
selectedPet?: FarmingPet;
personalBests?: Record<string, number>;
bestiaryKills?: Record<string, number>;
anitaBonus?: number;
extraFortune?: ExtraFarmingFortune[];
zorro?: boolean;
}
export declare function createFarmingPlayer(options: PlayerOptions): FarmingPlayer;
export declare class FarmingPlayer {
options: PlayerOptions;
fortune: number;
breakdown: Record<string, number>;
tools: FarmingTool[];
armor: FarmingArmor[];
armorSet: ArmorSet;
equipment: FarmingEquipment[];
accessories: FarmingAccessory[];
pets: FarmingPet[];
selectedTool?: FarmingTool;
selectedPet?: FarmingPet;
constructor(options: PlayerOptions);
changeArmor(armor: FarmingArmor[]): void;
selectTool(tool: FarmingTool): void;
selectPet(pet: FarmingPet): void;
setStrength(strength: number): void;
getGeneralFortune(): number;
getCropFortune(
crop: Crop,
tool?: FarmingTool | undefined
): {
fortune: number;
breakdown: Record<string, number>;
};
}
export interface JacobFarmingContest {
crop: Crop;
timestamp: number;
collected: number;
position?: number;
participants?: number;
medal?: number;
}