Saltearse al contenido

Definiciones de Objetos

Descripción General

Las definiciones de objetos son archivos JSON que describen cada objeto en Hytale — comida, armas, herramientas, bloques y más. Cada archivo se encuentra en una subcarpeta de categoría bajo Assets/Server/Item/Items/ y puede extender una plantilla padre para heredar campos compartidos. El subobjeto BlockType controla cómo se ve el objeto cuando se coloca en el mundo.

Ubicación del Archivo

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

Ejemplos:

  • 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

Esquema

Campos de Nivel Superior

CampoTipoRequeridoPor DefectoDescripción
ParentstringNoID de un objeto plantilla del cual heredar campos (ej. "Template_Food").
TranslationPropertiesobjectClaves de localización para el texto de visualización del objeto.
TranslationProperties.NamestringClave de localización para el nombre del objeto (ej. "server.items.Food_Bread.name").
TranslationProperties.DescriptionstringNoClave de localización para la descripción del objeto.
QualitystringNoID del nivel de calidad. Uno de Junk, Common, Uncommon, Rare, Epic, Legendary, Tool, Developer, Template.
IconstringNoRuta a la imagen del icono del objeto (ej. "Icons/ItemsGenerated/Food_Bread.png").
Categoriesstring[]NoLista de IDs de categoría en las que aparece este objeto (ej. ["Items.Foods"]).
ItemLevelnumberNoNivel de poder del objeto usado por los sistemas de progresión y desbloqueo de crafteo.
MaxStacknumberNoNúmero máximo de este objeto que puede apilarse en una ranura de inventario.
DropOnDeathbooleanNofalseSi este objeto se suelta cuando el jugador que lo lleva muere.
ScalenumberNo1.0Escala visual de la entidad del objeto cuando se suelta en el mundo.
InteractionsobjectNoMapea nombres de ranuras de interacción (ej. Primary, Secondary) a IDs de cadenas de interacción.
InteractionVarsobjectNoSobrecargas de variables de interacción con nombre. Cada clave es un nombre de variable; cada valor tiene un arreglo Interactions de cadenas en línea o referenciadas por padre.
RecipeobjectNoReceta de crafteo para este objeto. Ver campos de Receta abajo.
BlockTypeobjectNoControla cómo aparece el objeto cuando se coloca como bloque en el mundo. Ver campos de BlockType abajo.
ResourceTypesobject[]NoLista de objetos { "Id": "<ResourceTypeId>" }. Marca este objeto como perteneciente a grupos de recursos usados en recetas.
TagsobjectNoGrupos de etiquetas clave-valor (ej. { "Type": ["Food"], "Family": ["Axe"] }). Usados para filtrado e interacciones.
MaxDurabilitynumberNoDurabilidad máxima para herramientas y armas.
DurabilityLossOnHitnumberNoDurabilidad perdida por golpe para armas.
WeaponobjectNoMarca este objeto como un arma. Generalmente un objeto vacío {} que activa el comportamiento de arma.
ToolobjectNoConfiguración de herramienta incluyendo Specs (poder de recolección por tipo de bloque) y DurabilityLossBlockTypes.
ConsumablebooleanNoMarca este objeto como consumible.
PlayerAnimationsIdstringNoID del conjunto de animaciones usado cuando el jugador sostiene este objeto (ej. "Axe", "Item").
ModelstringNoRuta al archivo .blockymodel para el modelo sostenido de arma/herramienta (ej. "Items/Weapons/Axe/Copper.blockymodel").
TexturestringNoRuta a la textura usada con Model.

Campos de BlockType

CampoTipoRequeridoPor DefectoDescripción
MaterialstringNoTipo de material físico. Uno de Solid, Fluid, Empty, Plant.
DrawTypestringNoEstilo de renderizado. Valores comunes: Model, Block, Plant.
OpacitystringNoNivel de transparencia. Uno de Opaque, Semitransparent, Transparent.
CustomModelstringNoRuta al archivo .blockymodel usado cuando el objeto se coloca como bloque (ej. "Items/Consumables/Food/Bread.blockymodel").
CustomModelTextureobject[]NoArreglo de objetos { "Texture": "<ruta>", "Weight": <número> } para variantes de textura aleatorias.
CustomModelScalenumberNo1.0Multiplicador de escala aplicado al modelo personalizado.
HitboxTypestringNoID de la forma de hitbox (ej. "Food_Medium", "Food_Large").
RandomRotationstringNoModo de aleatorización de rotación aplicado al colocarse (ej. "YawStep1").
ParticleColorstringNoColor hexadecimal usado para las partículas de rotura de bloque (ej. "#e4cb69").
Texturesobject[]NoPara bloques colocables: arreglo de objetos de textura con claves por cara. Cada entrada puede tener All, Sides, UpDown, Top, Bottom, North, South, East, West, y un Weight para variantes aleatorias.
GatheringobjectNoDefine qué tipos de recolección aplican cuando este bloque se cosecha o rompe (Harvest, Soft, Breaking).

Campos de Receta

CampoTipoRequeridoPor DefectoDescripción
Inputobject[]Arreglo de objetos de ingredientes. Cada uno tiene ItemId o ResourceTypeId, más un Quantity opcional (por defecto 1).
Outputobject[]NoArreglo de objetos de salida con ItemId y Quantity opcional. Por defecto es el objeto mismo con cantidad 1.
OutputQuantitynumberNo1Atajo para establecer la cantidad de salida cuando el objeto de salida es el propio objeto de la definición.
BenchRequirementobject[]NoArreglo de requisitos de banco. Cada uno tiene Type ("Crafting", "Processing", "StructuralCrafting"), Id (ID del banco) y un arreglo Categories opcional.
TimeSecondsnumberNo0Duración del crafteo en segundos.
KnowledgeRequiredbooleanNotrueSi el jugador debe haber aprendido esta receta antes de craftearla.

Ejemplo

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