Skip to content
🚧 Esta documentação ainda está em desenvolvimento e pode conter informações incompletas.

ShopItemsData

A classe ShopItemsData permite adicionar os itens na loja para venda.

Construtor

ddef __init__(
        self,
        *,
        Id: str,
        ItemId: str,
        RandomItemId: Optional[list[str]] = None,
        Condition: Optional[str] = None,
        PerItemCondition: Optional[str] = None,
        MaxItems: Optional[int] =  None,
        IsRecipe: Optional[bool] = None,
        Quality: Optional[Quality] = None,
        MinStack: Optional[int] = None,
        MaxStack: Optional[int] = None,
        ObjectInternalName: Optional[str] = None,
        ObjectDisplayName: Optional[str] = None,
        ToolUpgradeLevel: Optional[ToolUpgradeLevel] = None,
        QualityModifiers: Optional[int] = None,
        StackModifiers: Optional[int] = None,
        QualityModifierMode: Optional[QualityModifierMode] = None,
        StackModifierMode: Optional[QualityModifierMode] = None,
        ModData: Optional[dict[str, str]] = None,

        Price: Optional[int] = None,
        TradeItemId: Optional[str] = None,
        TradeItemAmount: Optional[int] = None,
        ApplyProfitMargins: Optional[bool] = None,
        IgnoreShopPriceModifiers: Optional[bool] = None,
        AvailableStockModifiers: Optional[list[ShopModifiersData]] = None,
        PriceModifiers: Optional[list[ShopModifiersData]] = None,
        AvailableStockModifierMode: Optional[QualityModifierMode] = None,
        PriceModifierMode: Optional[QualityModifierMode] = None,
        AvoidRepeat: Optional[bool] = None,
        UseObjectDataPrice: Optional[bool] = None,
        AvailableStock: Optional[int] = None,
        AvailableStockLimit: Optional[AvailableStockLimit] = None,
        ActionsOnPurchase: Optional[list[str]] = None,
        CustomFields: Optional[Any] = None
    )

Parâmetros

Name Type Description
Id (str) Identificação do item
ItemId (str) Id do item usando o tipo e id do item, exemplo: (O)128 para o pufferfish
RandomItemId (list[str], Optional) Lista de identificação dos itens para randomizar a venda, exemplo: [ "(O)388", "(O)390", "(O)206"]
Condition (str, Optional) Condições para venda usando uma game query state: exemplos na (wiki)[https://stardewvalleywiki.com/Modding:Game_state_queries]
PerItemCondition (str, Optional) Condições para venda por item randon, usando uma game query state: exemplos na (wiki)[https://stardewvalleywiki.com/Modding:Game_state_queries]
MaxItems (int, Optional) Se esta entrada produzir várias pilhas de itens separados, o número máximo a ser retornado. (Isso não afeta o tamanho de cada pilha; consulte MinStack e MaxStack para isso.) Padrão ilimitado.
IsRecipe (bool, Optional) Se deve ou não obter a receita de criação/culinária do item, em vez do item em si. Padrão falso.
Quality (Quality, Optional) A qualidade do item a ser encontrado. usando a classe [Quality] valores validos: Quality.Normal(), Quality.Silver(), Quality.Gold(), Quality.Iridium()
MinStack (int, Optional) Tamanho mínimo e padrão da quantidade de itens a serem vendidos. Padrão -1, que mantém o valor definido pela consulta do item (geralmente 1).
MaxStack (int, Optional) Se definido como um valor maior que MinStack, a quantidade será definida como um valor aleatório entre eles (inclusive). Padrão -1.
ObjectInternalName (str, Optional) Somente para objetos, o nome interno a ser usado. O padrão é o nome do item em Dados/Objetos.
ObjectDisplayName (str, Optional) Somente para objetos, uma string tokenizável para o nome de exibição do item. Use a classe i18n para fazer a traducao do item, e use a chave criada nela
ToolUpgradeLevel (ToolUpgradeLevel, Optional) Somente para ferramentas, o nível de atualização inicial para a ferramenta quando criada, usando a classe ToolUpgradeLevel, os valores validos sao ToolUpgradeLevel.Normal, ToolUpgradeLevel.Copper, ToolUpgradeLevel.Steel, ToolUpgradeLevel.Gold, ToolUpgradeLevel.IridiumTool para ferramentas, e ToolUpgradeLevel.Bamboo, ToolUpgradeLevel.Training, ToolUpgradeLevel.Fiberglass, ToolUpgradeLevel.IridiumRod, ToolUpgradeLevel.AdvancedIridiumRod para varas de pesca.
QualityModifiers (int, Optional) Quantidade de itens adicionais a serem modificado sobre a qualidade do item. Ex: silver x 2=gold.
StackModifiers (int, Optional) Quantidade de itens adicionais a serem modificados.
QualityModifierMode (QualityModifierMode, Optional) Modo de modificação da qualidade do item. Use a classe QualityModifierMode, valores validos: QualityModifierMode.Stack(), QualityModifierMode.Minimum(), QualityModifierMode.Maximum()
StackModifierMode (QualityModifierMode, Optional) Modo de modificação da quantidade do item. Padrão: Add.
ModData (dict[str, str], Optional) Dicionário dados para mod personalizados.
Price (int, Optional) O preço em ouro para comprar o item na loja. O padrão é o preço normal do item ou zero se TradeItemId for especificado.
TradeItemId (str, Optional) O id do item a ser usado como moeda de troca na loja, usando o tipo e id do item, exemplo: (O)128 para o pufferfish
TradeItemAmount (int, Optional) Quantidade do item a ser trocado como moeda de troca pelo item a ser comprado na loja. O padrão é 1.
ApplyProfitMargins (bool, Optional) Se o preço deve ser multiplicado pelo modificador de dificuldade, o que reduz o preço para margens de lucro maiores. Esta opção pode ser verdadeira (sempre aplicar), falsa (nunca aplicar) ou nula (aplicável a certos itens, como mudas). Esta opção é aplicada antes de qualquer modificador de quantidade. O padrão é nulo.
IgnoreShopPriceModifiers (bool, Optional) Se o campo PriceModifiers da loja deve ser ignorado para este item. Isso não afeta o campo equivalente do item. O padrão é falso.
AvailableStockModifiers e PriceModifiers (list[ShopModifiersData], Optional) Modificadores de quantidade aplicados aos valores de AvailableStock ou Price.Observações: Os modificadores de preço se acumulam com o campo PriceModifiers na loja (a menos que IgnoreStorePriceModifiers seja verdadeiro). Usa a classe (ShopModifiersData)[shopmodifiersdata.md]
AvailableStockModifierMode and PriceModifierMode (QualityModifierMode, Optional) Modos modificadores de quantidade que indicam o que fazer se vários modificadores nos campos AvailableStockModifiers ou PriceModifiers forem aplicados simultaneamente. Usa a classe QualityModifierMode
AvoidRepeat (bool, Optional) Se deve evitar adicionar esse item à loja caso ele duplique um que já tenha sido adicionado. Se a ID do item for aleatória, isso escolherá um valor que ainda não tenha sido adicionado à loja, se possível. Padrão: false.
UseObjectDataPrice (bool, Optional) Se esses dados produzirem um objeto e o Preço for omitido, se deve ser usado o preço bruto em Dados/Objetos em vez do preço calculado de venda ao jogador.
AvailableStock (int, Optional) O número máximo do item que pode ser comprado em um dia. Padrão: ilimitado.
AvailableStockLimit (str, Optional) Se Stock for definido, como o limite é aplicado no modo multijogador. Isso não tem efeito sobre as receitas.
Os valores possíveis são: AvailableStockLimit.none(), AvailableStockLimit.Player(), AvailableStockLimit.Global()
ActionsOnPurchase (list[str], Optional) Uma lista de ações a serem executadas quando o jogador comprar esse item. Elas são executadas uma vez por clique de compra. Padrão: nenhum. Veja em (wiki)[https://stardewvalleywiki.com/Modding:Trigger_actions]

Exemplo

from StardewValley.Data import ShopItemsData
from StardewValley.Data.GameData import Quality, QualityModifierMode

# Dentro de uma classe ShopsData, quando for definir a lista Items, criar os itens usando a classe ShopItemsData

ShopItemsData(
    Id="(O)472",
    ItemId="(O)472",
    # outras opções,
    # se usar classes especiais importar a classe correspondente no GameData
    Quality=Quality.Gold(), 
    QualityModifierMode=QualityModifierMode.Add()
    StackModifierMode=QualityModifierMode.Subtract()

)