ItemTemplate
ItemTemplate.xml defines item rows: IDs, internal names, levels, categories, combat types, economy fields, and more.
If you previously edited ItemTemplate.xml by hand, this page shows the equivalent workflow using DataSheetLang.
What the DSL supports for this file
Section titled “What the DSL supports for this file”Entity: items
Operations: create, update, delete
This file is also the most common entry point for two inline workflows:
equipment:inline block (creates/updatesEquipmentTemplate.xml)strings:inline block (creates/updatesStrSheet_Item.xml)
See also:
- Equipment computation (when
equipment.computed: true) - Presets (reuse patterns)
- Syntax (spec structure)
Quick recipes
Section titled “Quick recipes”Create an item (minimal)
Section titled “Create an item (minimal)”spec: version: "1.0"
items: create: - id: 99001 name: "training_sword" level: 1 rareGrade: "Common" combatItemType: "EQUIP_WEAPON" combatItemSubType: "TWOHAND" category: "weapon" buyPrice: 100 sellPrice: 10 maxStack: 1Update an item
Section titled “Update an item”Updates only touch the fields you declare:
spec: version: "1.0"
items: update: - id: 99001 changes: level: 10 buyPrice: 250Delete an item
Section titled “Delete an item”spec: version: "1.0"
items: delete: - 99001Create an item with display strings (recommended)
Section titled “Create an item with display strings (recommended)”spec: version: "1.0"
items: create: - id: 99002 name: "iron_sword" level: 10 rareGrade: "Common" combatItemType: "EQUIP_WEAPON" combatItemSubType: "TWOHAND" category: "weapon"
strings: name: "Iron Sword" toolTip: "A basic training weapon."Create an item with computed equipment
Section titled “Create an item with computed equipment”spec: version: "1.0"
items: create: - id: 99003 name: "iron_greatsword" level: 60 rareGrade: "Unique" combatItemType: "EQUIP_WEAPON" combatItemSubType: "TWOHAND"
equipment: computed: true compute: powerTier: 5Full schema reference
Section titled “Full schema reference”This section lists all item properties currently supported by the DSL.
Enum values depend on your project’s DataSheet version.
When in doubt, use values already present in your existing XML rows and follow team conventions.
Core Properties
Section titled “Core Properties”| Property | Type | Description |
|---|---|---|
id | int | Unique item identifier (required for create) |
name | string | Internal item name |
level | int | Required level to use |
rareGrade | enum | Rarity: Common, Uncommon, Rare, Unique, etc. |
category | string | Item category for UI |
maxStack | int | Maximum stack size |
Combat Properties
Section titled “Combat Properties”| Property | Type | Description |
|---|---|---|
combatItemType | enum | EQUIP_WEAPON, EQUIP_ARMOR, DISPOSAL, etc. |
combatItemSubType | enum | TWOHAND, BOW, BODY_ARMOR, etc. |
rank | int | Item rank |
requiredClass | list | Allowed classes: WARRIOR, LANCER, etc. |
requiredLevel | int | Minimum level requirement |
requiredMaxLevel | int | Maximum level requirement |
requiredGender | enum | Gender restriction |
requiredRace | enum | Race restriction |
Economy Properties
Section titled “Economy Properties”| Property | Type | Description |
|---|---|---|
buyPrice | decimal | Purchase price from NPC |
sellPrice | decimal | Sell price to NPC |
tradable | bool | Can be traded between players |
searchable | bool | Appears in trade searches |
destroyable | bool | Can be destroyed |
warehouseStorable | bool | Can store in warehouse |
guildWarehouseStorable | bool | Can store in guild warehouse |
Linking Properties
Section titled “Linking Properties”| Property | Type | Description |
|---|---|---|
linkEquipmentId | int | Associated equipment template ID |
linkSkillId | int | Skill triggered on use |
linkPassivityId | list | Associated passivity IDs |
linkPetAdultId | int | Pet transformation ID |
linkEnchantId | int | Enchant data reference |
linkCrestId | int | Crest data reference |
Usage Properties
Section titled “Usage Properties”| Property | Type | Description |
|---|---|---|
coolTime | decimal | Cooldown in milliseconds |
coolTimeGroup | string | Shared cooldown group |
itemUseCount | int | Number of uses |
icon | string | Icon resource path |
Enchant Properties
Section titled “Enchant Properties”| Property | Type | Description |
|---|---|---|
enchantEnable | bool | Can be enchanted |
changeLook | bool | Appearance can be changed |
Player Classes
Section titled “Player Classes”Valid values for requiredClass:
WARRIOR, LANCER, SLAYER, BERSERKER, ARCHER,SORCERER, PRIEST, ELEMENTALIST, ASSASSIN,ENGINEER, FIGHTER, GLAIVER, SOULLESSCommon pitfalls
Section titled “Common pitfalls”- Internal vs display name:
namehere is an internal identifier; player-facing text belongs instrings: - Enum casing: use the exact enum strings used by your DataSheet conventions
- IDs: ensure item IDs are unique and reserved properly in your project