dayz-split-types
Overview
Split a monolithic DayZ types.xml into 18 categorized files (ammo, weapons, vehicles, food, clothes, etc.) and auto-update cfgeconomycore.xml with the new file references. Wraps DayZ-n-Chill/DayZ-TypeSplitterPro (vendored). Backs up types.xml first.
/dayz-split-types
Take a monolithic types.xml and split it into 18 categorized XML files (ammo.xml, weapons.xml, vehicles.xml, food.xml, clothes.xml, etc.) under a types/ subdirectory next to it. Auto-updates cfgeconomycore.xml (in the parent directory) with the new file references. Backs up the original first.
This skill wraps DayZ-n-Chill/DayZ-TypeSplitterPro by DayZ-n-Chill. The upstream typeSplitter.py is vendored verbatim under vendor/; this skill provides a CLI front-end (path arg, preflight gate, backup, output verification).
Follow .claude/skills/_shared/dayz-conventions.md.
How to run
python .claude\skills\dayz-split-types\split.py <path-to-types.xml>
Typical:
python .claude\skills\dayz-split-types\split.py workspace\_server\missions\dayzOffline.chernarusplus\db\types.xml
What it does
- Preflight gate.
- Validate
<types.xml>exists andcfgeconomycore.xmlis one directory up (DayZ standard layout:<mission>/cfgeconomycore.xml+<mission>/db/types.xml). - Back up
<types.xml>to<types.xml>.bak. - Copy the vendored
typeSplitter.pynext to yourtypes.xml(the upstream script uses__file__to findtypes.xml), run it withpython, then remove the temp copy. - Verify
<dir>/types/was created and report the categorized files written.
What gets created
<dir>/types/— directory containing one XML per category (only categories with at least one entry are emitted):ammo.xml,armbands.xml,ammo_boxes.xml,animals.xml,contamination.xml,flags.xml,staticObjs.xml,vehicles.xml,wrecks.xml,zombies.xml,seasonal.xml,clothes.xml,explosives.xml,containers.xml,food.xml,tools.xml,weapons.xml,vehicleParts.xml,uncategorized.xml
<types.xml>.bak— backup of the original.<mission>/cfgeconomycore.xml— updated with<ce folder="types">+<file name="..." type="types"/>entries pointing at each new categorized file.
Refuses to run if
/dayz-preflightreturns non-zero.<types.xml>doesn't exist or isn't namedtypes.xml.cfgeconomycore.xmlisn't in the parent directory (the upstream tool requires that layout).
Output
DayZ preflight
... (preflight output)
Preflight complete.
[OK] Backup: workspace\_server\missions\dayzOffline.chernarusplus\db\types.xml.bak
... (typeSplitter logging) ...
[OK] Split into 14 files in workspace\_server\missions\dayzOffline.chernarusplus\db\types
ammo.xml
ammo_boxes.xml
animals.xml
... (more)
[OK] Updated workspace\_server\missions\dayzOffline.chernarusplus\cfgeconomycore.xml
Attribution
The categorization logic and cfgeconomycore.xml formatting belong to DayZ-n-Chill/DayZ-TypeSplitterPro. This skill is a CLI wrapper around the vendored upstream script. To update the vendored copy, fetch the latest from the upstream repo and replace vendor/typeSplitter.py.
Do not
- Don't modify the vendored
typeSplitter.pyto add features. If you need new categorization or behavior, contribute upstream and re-vendor — this skill stays a thin wrapper so updates remain trivial. - Don't run this without a backup of the mission. Even with our
.bak, splitting + cfgeconomycore rewrite is a meaningful change. Commit your mission edits to git or copy the mission folder elsewhere first if you're paranoid.