from ..game_content import ContentPack, StardewContent from ..mod_registry import register_mod_content_pack from ...data import villagers_data from ...data.harvest import ForagingSource from ...data.requirement import QuestRequirement from ...mods.mod_data import ModNames from ...strings.quest_names import ModQuest from ...strings.region_names import Region from ...strings.seed_names import DistantLandsSeed class AlectoContentPack(ContentPack): def harvest_source_hook(self, content: StardewContent): if ModNames.distant_lands in content.registered_packs: content.game_items.pop(DistantLandsSeed.void_mint) content.game_items.pop(DistantLandsSeed.vile_ancient_fruit) content.source_item(DistantLandsSeed.void_mint, ForagingSource(regions=(Region.witch_swamp,), other_requirements=(QuestRequirement(ModQuest.WitchOrder),)),), content.source_item(DistantLandsSeed.vile_ancient_fruit, ForagingSource(regions=(Region.witch_swamp,), other_requirements=(QuestRequirement(ModQuest.WitchOrder),)), ), register_mod_content_pack(ContentPack( ModNames.alecto, weak_dependencies=( ModNames.distant_lands, # For Witch's order ), villagers=( villagers_data.alecto, ) ))