35 lines
1.6 KiB
Python
35 lines
1.6 KiB
Python
from ..game_content import ContentPack, StardewContent
|
|
from ..mod_registry import register_mod_content_pack
|
|
from ...data.artisan import MachineSource
|
|
from ...data.skill import Skill
|
|
from ...mods.mod_data import ModNames
|
|
from ...strings.craftable_names import ModMachine
|
|
from ...strings.fish_names import ModTrash
|
|
from ...strings.metal_names import all_artifacts, all_fossils
|
|
from ...strings.skill_names import ModSkill
|
|
|
|
|
|
class ArchaeologyContentPack(ContentPack):
|
|
def artisan_good_hook(self, content: StardewContent):
|
|
# Done as honestly there are too many display items to put into the initial registration traditionally.
|
|
display_items = all_artifacts + all_fossils
|
|
for item in display_items:
|
|
self.source_display_items(item, content)
|
|
content.source_item(ModTrash.rusty_scrap, *(MachineSource(item=artifact, machine=ModMachine.grinder) for artifact in all_artifacts))
|
|
|
|
def source_display_items(self, item: str, content: StardewContent):
|
|
wood_display = f"Wooden Display: {item}"
|
|
hardwood_display = f"Hardwood Display: {item}"
|
|
if item == "Trilobite":
|
|
wood_display = f"Wooden Display: Trilobite Fossil"
|
|
hardwood_display = f"Hardwood Display: Trilobite Fossil"
|
|
content.source_item(wood_display, MachineSource(item=str(item), machine=ModMachine.preservation_chamber))
|
|
content.source_item(hardwood_display, MachineSource(item=str(item), machine=ModMachine.hardwood_preservation_chamber))
|
|
|
|
|
|
register_mod_content_pack(ArchaeologyContentPack(
|
|
ModNames.archaeology,
|
|
skills=(Skill(name=ModSkill.archaeology, has_mastery=False),),
|
|
|
|
))
|