UNPKG

farming-weight

Version:

Tools for calculating farming weight and fortune in Hypixel Skyblock

120 lines (119 loc) 4.78 kB
import type { Effect, EffectEnvironment } from '../../effects/types.js'; import type { FarmingPlayer } from '../../player/player.js'; import { FortuneSource, type FortuneSourceActiveState } from './base.js'; export declare class CropeetleShard extends FortuneSource { readonly id = "cropeetle"; readonly name: string; getEffects(player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } /** * Warty Bug Shard - adds Warty drops while farming Nether Wart. * * Emits an `add-drop` effect crop-scoped to Nether Wart. Drops are tagged * `['overbloom','rare-crop']` so Overbloom (and any future global rare-crop * multipliers) buff them by default. The drop kind is `'rare'`. */ export declare class WartyBugShard extends FortuneSource { readonly id = "wart_eater"; readonly name: string; getEffects(player: FarmingPlayer, env: EffectEnvironment): Effect[]; } /** * Dragonfly Shard - `+0.5` Farming Wisdom per level. Always active. */ export declare class DragonflyShard extends FortuneSource { readonly id = "dragonfly"; readonly name: string; getEffects(player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } /** * Firefly Shard - `+5` Farming Fortune per level during the day. * * Active rules (preserved from the existing implementation, which assumes the * world is during the day unless overridden): * - If the player has selected Sunflower, force active. * - If the player has selected Moonflower, force inactive. * - If Lunar Moth shard is at an equal-or-higher level, defer to it (inactive). * - Otherwise active. */ export declare class FireflyShard extends FortuneSource { readonly id = "firefly"; readonly name: string; private resolve; getActive(player: FarmingPlayer, env: EffectEnvironment): FortuneSourceActiveState; getEffects(player: FarmingPlayer, env: EffectEnvironment): Effect[]; } /** * Lunar Moth Shard - `+5` Farming Fortune per level during the night. * * Active rules mirror Firefly (Moonflower forces active, Sunflower forces * inactive, otherwise the higher-level shard wins ties going to Lunar Moth). */ export declare class LunarMothShard extends FortuneSource { readonly id = "lunar_moth"; readonly name: string; private resolve; getActive(player: FarmingPlayer, env: EffectEnvironment): FortuneSourceActiveState; getEffects(player: FarmingPlayer, env: EffectEnvironment): Effect[]; } /** * Termite Shard - `+3` Farming Fortune per level while on an infested plot. */ export declare class TermiteShard extends FortuneSource { readonly id = "termite"; readonly name: string; getActive(player: FarmingPlayer, env: EffectEnvironment): FortuneSourceActiveState; getEffects(player: FarmingPlayer, env: EffectEnvironment): Effect[]; } /** * Galaxy Fish Shard - `+1` Farming/Mining/Foraging Fortune per level. */ export declare class GalaxyFishShard extends FortuneSource { readonly id = "galaxy_fish"; readonly name: string; getEffects(player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } export declare class LadybugShard extends FortuneSource { readonly id = "ladybug"; readonly name: string; getEffects(_player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } export declare class InvisibugShard extends FortuneSource { readonly id = "invisibug"; readonly name: string; getEffects(_player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } export declare class PrayingMantisShard extends FortuneSource { readonly id = "praying_mantis"; readonly name: string; getEffects(_player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } export declare class PestShard extends FortuneSource { readonly id = "pest"; readonly name: string; getEffects(player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } export declare class MudwormShard extends FortuneSource { readonly id = "mudworm"; readonly name: string; getEffects(_player: FarmingPlayer, _env: EffectEnvironment): Effect[]; } /** * Class registry of every farming attribute shard, keyed by the SkyBlock * attribute key (matching `FARMING_ATTRIBUTE_SHARDS`). Use this to enumerate * sources during effect collection. */ export declare const FARMING_ATTRIBUTE_SHARD_CLASSES: { readonly wart_eater: WartyBugShard; readonly garden_wisdom: DragonflyShard; readonly solar_power: FireflyShard; readonly lunar_power: LunarMothShard; readonly pretty_clothes: LadybugShard; readonly crop_bug: CropeetleShard; readonly fancy_visit: InvisibugShard; readonly infiltration: TermiteShard; readonly insect_power: PrayingMantisShard; readonly pest_luck: PestShard; readonly visitor_bait: MudwormShard; readonly ultimate_dna: GalaxyFishShard; };