UNPKG

farming-weight

Version:

Tools for calculating farming weight and fortune in Hypixel Skyblock

43 lines 1.59 kB
import { Stat } from '../constants/stats.js'; export function getFortuneFromEnchant(level, enchant, options, crop) { if (level <= 0) return 0; const tier = enchant.levels?.[level]; if (!tier) return 0; let fortune = getFortuneFromTier(tier, options, crop, enchant); if (enchant.computedLevels && options) { const computedTier = enchant.computedLevels(options)?.[level]; if (computedTier) { fortune += getFortuneFromTier(computedTier, options, crop, enchant); } } return fortune; } export function getMaxFortuneFromEnchant(enchant, options, crop) { if (enchant.maxStats) { return enchant.maxStats[Stat.FarmingFortune] ?? 0; } const tier = enchant.levels?.[enchant.maxLevel]; if (!tier) return 0; let fortune = getFortuneFromTier(tier, options, crop, enchant); if (enchant.computedLevels && options) { const computedTier = enchant.computedLevels(options)?.[enchant.maxLevel]; if (computedTier) { fortune += getFortuneFromTier(computedTier, options, crop, enchant); } } return fortune; } function getFortuneFromTier(tier, options, crop, enchant) { let fortune = tier.stats?.[Stat.FarmingFortune] ?? 0; if (options) { fortune += tier.computed?.[Stat.FarmingFortune]?.(options) ?? 0; } if (crop && (!enchant.cropSpecific || enchant.cropSpecific === crop)) { fortune += tier.cropComputed?.[Stat.FarmingFortune]?.(crop, options) ?? 0; } return fortune; } //# sourceMappingURL=enchants.js.map