farming-weight
Version:
Tools for calculating farming weight and fortune in Hypixel Skyblock
75 lines (74 loc) • 2.61 kB
TypeScript
import type { DropKind, DropTag } from '../effects/types.js';
import { Stat } from './stats.js';
import type { UpgradeCost } from './upgrades.js';
export declare enum Crop {
Cactus = "CACTUS",
Carrot = "CARROT_ITEM",
CocoaBeans = "INK_SACK:3",
Melon = "MELON",
Mushroom = "MUSHROOM_COLLECTION",
NetherWart = "NETHER_STALK",
Potato = "POTATO_ITEM",
Pumpkin = "PUMPKIN",
SugarCane = "SUGAR_CANE",
Wheat = "WHEAT",
Seeds = "WHEAT_SEEDS",
Sunflower = "DOUBLE_PLANT",
Moonflower = "MOONFLOWER",
WildRose = "WILD_ROSE"
}
export interface CropCraft {
item: string;
amount?: number;
takes: number;
and?: {
item: string;
amount: number;
cost?: number;
}[];
}
export interface CropRngDrop {
chance: number;
drops: Record<string, number>;
/** Output bucket for this drop. Defaults to `rng`. */
output?: 'rng' | 'collection' | 'currency';
/**
* If `harvestFeast`, this drop only occurs when a Harvest Feast is active and this crop is in-season.
* Used for Seasoning + per-crop Harvest Feast materials.
*/
only?: 'harvestFeast';
/**
* Drop kind classification used by the effects pipeline. Defaults to `'rng'` when omitted.
*/
dropKind?: DropKind;
/**
* Drop tags consumed by `Effect.scope.tags`. See `DropTagBuiltin` for the well-known set.
* Defaults to `['overbloom','rare-crop']` when omitted (the SkyBlock RARE CROP pool).
*/
tags?: readonly DropTag[];
}
export interface CropInfo {
name: string;
npc: number;
drops: number;
fortuneType: Stat;
breaks?: number;
replenish?: boolean;
exportable?: boolean;
exportableCost?: UpgradeCost;
startingTool: string;
toolXpFactor: number;
crafts: CropCraft[];
rng?: CropRngDrop[];
}
/** Drop chance of Seasoning from any in-season crop during a Harvest Feast (1/2,250). */
export declare const HARVEST_FEAST_SEASONING_CHANCE: number;
/** Drop chance of a per-crop Harvest Feast unique material from in-season crops (1/18,000). */
export declare const HARVEST_FEAST_MATERIAL_CHANCE: number;
/** Per-crop unique Harvest Feast material item id, dropped at 1/18,000 from in-season crops. */
export declare const HARVEST_FEAST_MATERIALS: Partial<Record<Crop, string>>;
export declare const CROP_INFO: Record<Crop, CropInfo>;
export declare const MAX_CROP_FORTUNE: Record<Crop, number>;
export declare const LIST_OF_CROPS: Exclude<Crop, Crop.Seeds>[];
export declare const LIST_OF_CROPS_WITH_SEEDS: Crop[];
export declare const EXPORTABLE_CROP_FORTUNE = 12;