Pular para o conteúdo

Definições de Itens

Visão Geral

Definições de itens são arquivos JSON que descrevem cada item no Hytale — comidas, armas, ferramentas, blocos e mais. Cada arquivo fica em uma subpasta de categoria em Assets/Server/Item/Items/ e pode estender um template pai para herdar campos compartilhados. O sub-objeto BlockType controla como o item aparece quando colocado no mundo.

Localização dos Arquivos

Assets/Server/Item/Items/<Category>/<ItemId>.json

Exemplos:

  • Assets/Server/Item/Items/Food/Food_Bread.json
  • Assets/Server/Item/Items/Weapon/Axe/Weapon_Axe_Copper.json
  • Assets/Server/Item/Items/Tool/Pickaxe/Tool_Pickaxe_Copper.json

Schema

Campos de Nível Superior

CampoTipoObrigatórioPadrãoDescrição
ParentstringNãoID de um item template para herdar campos (ex.: "Template_Food").
TranslationPropertiesobjectSimChaves de localização para o texto de exibição do item.
TranslationProperties.NamestringSimChave de localização para o nome do item (ex.: "server.items.Food_Bread.name").
TranslationProperties.DescriptionstringNãoChave de localização para a descrição do item.
QualitystringNãoID do nível de qualidade. Um entre Junk, Common, Uncommon, Rare, Epic, Legendary, Tool, Developer, Template.
IconstringNãoCaminho para a imagem do ícone do item (ex.: "Icons/ItemsGenerated/Food_Bread.png").
Categoriesstring[]NãoLista de IDs de categoria em que este item aparece (ex.: ["Items.Foods"]).
ItemLevelnumberNãoNível de poder do item usado pelos sistemas de progressão e desbloqueio de receitas.
MaxStacknumberNãoNúmero máximo deste item que pode ser empilhado em um slot de inventário.
DropOnDeathbooleanNãofalseSe o item é dropado quando o jogador que o carrega morre.
ScalenumberNão1.0Escala visual da entidade do item quando dropado no mundo.
InteractionsobjectNãoMapeia nomes de slots de interação (ex.: Primary, Secondary) para IDs de cadeias de interação.
InteractionVarsobjectNãoSubstituições de variáveis de interação nomeadas. Cada chave é um nome de variável; cada valor tem um array Interactions de cadeias inline ou referenciadas por pai.
RecipeobjectNãoReceita de fabricação para este item. Veja os campos de Receita abaixo.
BlockTypeobjectNãoControla como o item aparece quando colocado como um bloco no mundo. Veja os campos de BlockType abaixo.
ResourceTypesobject[]NãoLista de objetos { "Id": "<ResourceTypeId>" }. Marca este item como pertencente a grupos de recursos usados em receitas.
TagsobjectNãoGrupos de tags chave-valor (ex.: { "Type": ["Food"], "Family": ["Axe"] }). Usados para filtragem e interações.
MaxDurabilitynumberNãoDurabilidade máxima para ferramentas e armas.
DurabilityLossOnHitnumberNãoDurabilidade perdida por golpe para armas.
WeaponobjectNãoMarca este item como uma arma. Geralmente um objeto vazio {} que ativa o comportamento de arma.
ToolobjectNãoConfiguração de ferramenta incluindo Specs (poder de coleta por tipo de bloco) e DurabilityLossBlockTypes.
ConsumablebooleanNãoMarca este item como consumível.
PlayerAnimationsIdstringNãoID do conjunto de animações usado quando o jogador segura este item (ex.: "Axe", "Item").
ModelstringNãoCaminho para o arquivo .blockymodel para o modelo segurado de arma/ferramenta (ex.: "Items/Weapons/Axe/Copper.blockymodel").
TexturestringNãoCaminho para a textura usada com Model.

Campos de BlockType

CampoTipoObrigatórioPadrãoDescrição
MaterialstringNãoTipo de material físico. Um entre Solid, Fluid, Empty, Plant.
DrawTypestringNãoEstilo de renderização. Valores comuns: Model, Block, Plant.
OpacitystringNãoNível de transparência. Um entre Opaque, Semitransparent, Transparent.
CustomModelstringNãoCaminho para o arquivo .blockymodel usado quando o item é colocado como bloco (ex.: "Items/Consumables/Food/Bread.blockymodel").
CustomModelTextureobject[]NãoArray de objetos { "Texture": "<caminho>", "Weight": <número> } para variantes de textura aleatórias.
CustomModelScalenumberNão1.0Multiplicador de escala aplicado ao modelo personalizado.
HitboxTypestringNãoID da forma do hitbox (ex.: "Food_Medium", "Food_Large").
RandomRotationstringNãoModo de rotação aleatória aplicado quando colocado (ex.: "YawStep1").
ParticleColorstringNãoCor hex usada para partículas de quebra de bloco (ex.: "#e4cb69").
Texturesobject[]NãoPara blocos posicionáveis: array de objetos de textura com chaves de face. Cada entrada pode ter All, Sides, UpDown, Top, Bottom, North, South, East, West, e um Weight para variantes aleatórias.
GatheringobjectNãoDefine quais tipos de coleta se aplicam quando este bloco é colhido ou quebrado (Harvest, Soft, Breaking).

Campos de Receita

CampoTipoObrigatórioPadrãoDescrição
Inputobject[]SimArray de objetos de ingrediente. Cada um tem ItemId ou ResourceTypeId, mais um Quantity opcional (padrão 1).
Outputobject[]NãoArray de objetos de saída com ItemId e Quantity opcional. Padrão é o próprio item com quantidade 1.
OutputQuantitynumberNão1Atalho para definir a quantidade de saída quando o item de saída é o próprio item da definição.
BenchRequirementobject[]NãoArray de requisitos de bancada. Cada um tem Type ("Crafting", "Processing", "StructuralCrafting"), Id (ID da bancada), e array opcional Categories.
TimeSecondsnumberNão0Duração da fabricação em segundos.
KnowledgeRequiredbooleanNãotrueSe o jogador precisa ter aprendido esta receita antes de fabricá-la.

Exemplo

Assets/Server/Item/Items/Food/Food_Bread.json:

{
"TranslationProperties": {
"Name": "server.items.Food_Bread.name",
"Description": "server.items.Food_Bread.description"
},
"Parent": "Template_Food",
"Interactions": {
"Secondary": "Root_Secondary_Consume_Food_T2"
},
"Quality": "Uncommon",
"Icon": "Icons/ItemsGenerated/Food_Bread.png",
"BlockType": {
"Material": "Empty",
"DrawType": "Model",
"Opacity": "Semitransparent",
"CustomModel": "Items/Consumables/Food/Bread.blockymodel",
"CustomModelTexture": [
{
"Texture": "Items/Consumables/Food/Bread_Texture.png",
"Weight": 1
}
],
"HitboxType": "Food_Medium",
"RandomRotation": "YawStep1",
"CustomModelScale": 0.5,
"ParticleColor": "#e4cb69"
},
"InteractionVars": {
"Consume_Charge": {
"Interactions": [
{
"Parent": "Consume_Charge_Food_T1_Inner",
"Effects": {
"Particles": [
{
"SystemId": "Food_Eat",
"Color": "#DCC15D",
"TargetNodeName": "Mouth",
"TargetEntityPart": "Entity"
}
]
}
}
]
},
"Effect": {
"Interactions": [
{
"Type": "ApplyEffect",
"EffectId": "Food_Instant_Heal_Bread"
}
]
}
},
"Recipe": {
"Input": [
{
"ItemId": "Ingredient_Dough",
"Quantity": 1
},
{
"ResourceTypeId": "Fuel",
"Quantity": 3
}
],
"Output": [
{
"ItemId": "Food_Bread"
}
],
"BenchRequirement": [
{
"Type": "Crafting",
"Id": "Cookingbench",
"Categories": [
"Baked"
]
}
],
"TimeSeconds": 5
},
"Scale": 1.5,
"ItemLevel": 7,
"MaxStack": 25,
"DropOnDeath": true
}

Páginas Relacionadas