# xml-data > Parses and manages game data XML files for items, skills, NPCs, and custom features. Use when: adding new items/skills/NPCs, modifying existing game data, creating custom features, debugging XML parsing errors - Author: valeriybaranyshyn-pixel - Repository: valeriybaranyshyn-pixel/Tales-of-Aden - Version: 20260202145225 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/valeriybaranyshyn-pixel/Tales-of-Aden - Web: https://mule.run/skillshub/@@valeriybaranyshyn-pixel/Tales-of-Aden~xml-data:20260202145225 --- --- name: xml-data description: | Parses and manages game data XML files for items, skills, NPCs, and custom features. Use when: adding new items/skills/NPCs, modifying existing game data, creating custom features, debugging XML parsing errors allowed-tools: Read, Edit, Write, Glob, Grep, Bash --- # XML Data Skill Handles all game data XML files in Tales of Aden. The L2J server uses two parallel XML parsing systems: `XMLDocument` (abstract class pattern) for items/skills and `IXmlReader` (interface with defaults) for custom features. Items, skills, and NPCs load at server startup via singleton datatables. ## Quick Start ### Adding a New Item ```xml ``` ### Adding a New NPC ```xml ``` ## Key Concepts | Concept | Class | Location | |---------|-------|----------| | Item parsing | `DocumentItem` | `gameserver/skills/DocumentItem.java` | | Skill parsing | `DocumentSkill` | `gameserver/skills/DocumentSkill.java` | | NPC loading | `NpcTable` | `gameserver/datatables/NpcTable.java` | | Base parser | `XMLDocument` | `gameserver/xmlfactory/XMLDocument.java` | | Modern parser | `IXmlReader` | `commons/data/xml/IXmlReader.java` | ## Common Patterns ### Using Level Tables **When:** Skill/item values vary by level ```xml 431 458 486 516 547 579 612 ...
``` ### Drop Categories ```xml ``` ## File Organization | Path | Content | |------|---------| | `data/xml/items/` | Items by ID range (0000-0099.xml) | | `data/xml/skills/` | Skills by ID range | | `data/xml/npcs/` | NPCs by ID range + subfolders | | `data/xml/custom/` | Custom features (DailyRewards, Dolls, etc.) | ## See Also - [patterns](references/patterns.md) - [workflows](references/workflows.md) ## Related Skills - See the **java** skill for datatable implementation patterns - See the **skill-system** skill for skill mechanics - See the **item-handlers** skill for item behavior - See the **npc-scripting** skill for NPC AI integration - See the **ai-system** skill for NPC behavior configuration