Skip to content

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.

Entity: items
Operations: create, update, delete

This file is also the most common entry point for two inline workflows:

  • equipment: inline block (creates/updates EquipmentTemplate.xml)
  • strings: inline block (creates/updates StrSheet_Item.xml)

See also:


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: 1

Updates only touch the fields you declare:

spec:
version: "1.0"
items:
update:
- id: 99001
changes:
level: 10
buyPrice: 250
spec:
version: "1.0"
items:
delete:
- 99001
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."
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: 5

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.

PropertyTypeDescription
idintUnique item identifier (required for create)
namestringInternal item name
levelintRequired level to use
rareGradeenumRarity: Common, Uncommon, Rare, Unique, etc.
categorystringItem category for UI
maxStackintMaximum stack size
PropertyTypeDescription
combatItemTypeenumEQUIP_WEAPON, EQUIP_ARMOR, DISPOSAL, etc.
combatItemSubTypeenumTWOHAND, BOW, BODY_ARMOR, etc.
rankintItem rank
requiredClasslistAllowed classes: WARRIOR, LANCER, etc.
requiredLevelintMinimum level requirement
requiredMaxLevelintMaximum level requirement
requiredGenderenumGender restriction
requiredRaceenumRace restriction
PropertyTypeDescription
buyPricedecimalPurchase price from NPC
sellPricedecimalSell price to NPC
tradableboolCan be traded between players
searchableboolAppears in trade searches
destroyableboolCan be destroyed
warehouseStorableboolCan store in warehouse
guildWarehouseStorableboolCan store in guild warehouse
PropertyTypeDescription
linkEquipmentIdintAssociated equipment template ID
linkSkillIdintSkill triggered on use
linkPassivityIdlistAssociated passivity IDs
linkPetAdultIdintPet transformation ID
linkEnchantIdintEnchant data reference
linkCrestIdintCrest data reference
PropertyTypeDescription
coolTimedecimalCooldown in milliseconds
coolTimeGroupstringShared cooldown group
itemUseCountintNumber of uses
iconstringIcon resource path
PropertyTypeDescription
enchantEnableboolCan be enchanted
changeLookboolAppearance can be changed

Valid values for requiredClass:

WARRIOR, LANCER, SLAYER, BERSERKER, ARCHER,
SORCERER, PRIEST, ELEMENTALIST, ASSASSIN,
ENGINEER, FIGHTER, GLAIVER, SOULLESS

  • Internal vs display name: name here is an internal identifier; player-facing text belongs in strings:
  • Enum casing: use the exact enum strings used by your DataSheet conventions
  • IDs: ensure item IDs are unique and reserved properly in your project