Xmls related to items

# items.xml

Here are the properties of every item in the game defined. Damage, material, critical-strike chance and so on.

## General

* item id="NUMBER"

The id is to differentiate each item. There is room for many items (over 4000), but normally only items up to a specific ID are shown in the creative-menu. The others are still in game though.

* item name=”ITEMNAME”

The name of the item. If you create a custom item from scratch, this is the name that appears in game unless you also edit the localization.txt. It is allowed to use space between parts of a name.

* property name="Group" value="GROUPNAME"

Groupname can either be one of the standard-groups or you can create a custom group in groups.xml and use that. The standard groups are:

Basic, Ammo/Weapons, Tools/Traps, Building, Resources, Forging/Molds, Decor, Medicine, Chemicals, Food/Cooking, Clothing, Miscellaneous, Special Items

An item can be in more than one group. If the item is in none of the standard-groups, it will only show up in the in-game crafting menu via the search option.

*Currently (Alpha 12.4), a wooden bow can only fire ammunition that is in the group "Ammo/Weapons".*
* property name="CustomIcon" value="ITEMNAME"

Changes the icon of the item to that of another of the standard items; needed if you create your own items. It is also possible to use .png files; they have to be in the folder "7 Days To Die\Mods\ItemIconTest\ItemIcons" (must be manually created) and they must be named exactly like the item they represent. In this case this line is not needed, the .png files will automatically show up in the game.

* property name="CustomIconTint" value="COLORCODE"

Inks the icon with the chosen color; useful to differentiate custom items from standard ones.

* property name="Meshfile" value="FILEPATH"

The look of an item in the game. The filepath is where the mesh is found inside the .dlls of the game. If you want your custom item to look like another item, just copy it from there.

* property name="DropMeshfile" value="FILEPATH"

The look of an item dropped on the ground.

* property name="HandMeshfile" value="FILEPATH"

The look of an item if held in hand. Needed if it normally would not be held in hand, such as crossbow bolts.

* property name="Material" value="MATERIALNAME"

Some items get a damage multiplier against certain materials. Is also used to determine what the item is dismantled into. Which materials are possible is defined in materials.xml.

* property name="HoldType" value="NUMBER"

The way the item is held in hands, i.e. 36 is like a knife, 32 is like bolts. These are defined in misc.xml.

* property name="Stacknumber" value="NUMBER"

How much of this item can stack in one field of your belt/backpack.

* property name="SoundDestroy" value="NAMEOFSOUND"

In case the item is destroyed, which sound is played. There are other events like this:

Sound\_start, Sound\_repeat, Sound\_end, SoundJammed, Sound\_empty, Sound\_reload, SoundIdle, Sound\_warning, Sound\_draw, Sound\_cancel, Upgrade\_action\_sound, Repair\_action\_sound
* property name="Weight" value="NUMBER"

Effecting how much you get as output if you smelt it in your forge or how much you can scrap it for.

* property name="Degradation" value="NUMBER" param1="BOOLEAN"

If the item degrades with use.

* property name="DegradationBreaksAfter" value="false"

If the item breaks after reaching 0 durability.

## Tools, Weapons

* property name="Candrop" value="false"

A property for "hand"-items. You can not throw these away.

* property class="Action0"

Means a left mouse click. "Action1" is a right mouse click.

* property name="Auto\_fire" value="BOOLEAN"

If you can hold down the mouse to fire or not.

These following lines define what exactly is done if you click the button (see Action0/Action1 above).

* property name="Class" value="Melee"

Melee is an attack at melee range.
* property name="Class" value="Ranged"
* property name="Class" value="Launcher"

Ranged and Launcher are both ranged attacks with ranged hitting the target instantly and launcher launching a projectile.

* property name="Magazine\_size" value="NUMBER"

Magazine size.

* property name="Magazine\_items" value="ITEMNAME"

Items to use as ammunition.

* property name="Reload\_time" value="NUMBER"

Time in seconds needed to reload the weapon.

* property name="Bullet\_icon" value="ICONNAME"

Bullet icon in the ui. But apparently it is not the real used icon, for example the bow uses the value "uzi" for this property.

* property name="Rays\_per\_shot" value="NUMBER"

How many rays are shot; to simulate for example a shotgun shot.

* property name="Rays\_spread" value="NUMBER"

How widespread the rays are.
* property name="Class" value="MakeFertile"

MakeFertile is currently only used by the hoe.

* property name="Fertileblock" value="fertileFarmland"

Only for the hoe, it makes the target dirt block a fertile block.

* property name="Adjacentblock" value="dirt"

Again, only for the hoe. Makes any adjacent block to the target block a dirt block.
* property name="Class" value="Repair"

Repair repairs and upgrades the block under your crosshair.

* property name="Repair\_amount" value="NUMBER"

If the class is "Repair", then here is defined how much the targeted block gets repaired with each tick.

* property name="Allowed\_upgrade\_items" value="MATERIAL"

If the class is "Repair", here is defined which material can be used to upgrade the block under your crosshair. If a material is need which is not allowed (see below),
you can not upgrade the block with your currently held item. The possible materials are (unless you define another block:
woodPlank, scrapIron, forgedIron, ingotSteel, concreteMix, cobblestones
* property name="Restricted\_upgrade\_items" value="MATERIAL"

Restricts the item from using these materials as upgrade items.
* property name="Class" value="PlaceAsBlock"

PlaceAsBlock places the item as a block.

* property name="Blockname" value="ITEMNAME"

This is need if a block should be placed. This defines which block exactly is placed.
* property name="RepairTools" value="ITEMNAME"

If the item can be repaired by other items, here is defined by which ones.

* property name="RepairAmount" value="NAME"

If you can use the item to repair other items (for example sticks), here is defined by how much the other item will be repaired.

* property name="FuelValue" value="NUMBER"

By how many seconds this item fires your campfire or forge if used as fuel.

* property name="CritChance" value="NUMBER"

A property solely for weapons. The number can be anything between 0 and 1.

* property name="Buff" value="BUFFNAME"

If the item applies a buff to the entity hit. The buff must be defined in buffs.xml.

* property name="Buff\_chance" value="NUMBER"

The chance of applying said buff. The number can range from 0 to 1.

* property name="DamageBonus.MATERIAL"

If the item gets a damage multiplicator when hitting a specific material. These are defined in materials.xml.
A multiplicator used when the item is used against defined material.

* property name="Delay" value="NUMBER"

The time between two uses of your item. The lower this number is, the faster it can be used.

* property name="Range" value="NUMBER"

The range at which your item hits its target.

* property name="Block\_range" value="NUMBER"

This can be used if the item hits blocks at a different range than entities. Useful for supporting a building tool (or restricting it).

* property name="Sphere" value="NUMBER"

This is (sadly) NOT an "Area of effect", but more like an offset to your aim. A bit confusing. The higher the number the greater the offset.

* property name="DamageEntity" value="NUMBER"

Obsolete if there is a class="Attributes" (see below) with this property. Else it defines the damage done to your enemies.

* property name="DamageBlock" value="NUMBER"

Same as DamageEntity.

* property name="Stamina\_usage" value="NUMBER"

The amount of stamina needed to use the item.

* property name="Gain\_ATTRIBUTE" value="NUMBER"

If you gain health or something like that from using the item. A negative value means a loss. Possible attributes are:

health, stamina, food, water, wellness, gas, sickness
* property name="Horde\_meter\_rate" value="NUMBER"

Related to "heat" generation (aka luring scouts to you).

* property name="Horde\_meter\_distance" value="NUMBER"

Same as above.

* property name="Attachments" value="flashlight02"
* property name="LightSource" value="lightSource"
* property name="ActivateObject" value="Attachments/flashlight/lightSource"
* property name="AttachmentFlashlight" value="flashlight02"

These four lines are needed if a flashlight should be attachable.

## Quality System

* property class="Attributes"

If the item is subject to the quality system, it has this class.

* property name="EntityDamage" value="NUMBER,NUMBER"

See DamageEntity above. This replaces any DamageEntity from above.

* property name="BlockDamage" value="NUMBER,NUMBER"

Same as EntityDamage.

* property name="DegradationMax" value=""NUMBER,NUMBER"

Here is a range defined from which to which number the durability of the item depending on its quality can range. Again, any durability-related properties from above are overwritten.

* property name="DegradationRate" value="NUMBER,NUMBER"

And again, depending on the different quality variables for the DegradationRate. The lower it is the longer the item lasts.

# recipes.xml

This holds all the recipes that are used for crafting things in game.

name= Lets the game know what the recipe is used to make.

count= Shows how many of the item is given or needed.

scrapable= Lets the game know if the items can be scraped.

craft\_area= Defines if the a special workstation is needed to craft the item such as forge, campfire, etc. (if its not in the recipe you can craft in inventory without workstation)

material\_based= Defines if the item can be smelted down at a forge for material.

craft\_time= How long it takes to craft the item.

craft\_exp\_gain= How much experience you get for crafting the item.

craft\_tool= Defines what tool if any is needed (example: grill, beaker, anvil, etc.)

# materials.xml

Every material in the game is here defined. Whether one can walk on it or not, which item gains a damage bonus when hitting it and which sounds are played in that case.

* id="NAME"

The name of the material. No two material are allowed to share the same name.

* property name="collidable" value="BOOLEAN"

If entities can pass through the block or not. If this is not stated the default is "true", thus most blocks do not have this property.

* property name="lightopacity" value="NUMBER"

If light is dimmed when it shines through the block. The higher the number the more dimmed it gets.

* property name="damage\_category" value="MATERIAL"

This line decides whether an item gets a damage bonus by hitting the block or not. If an item has a corresponding "damagebonus.MATERIAL", its damage gets altered when hitting this block.

* property name="surface\_category" value="MATERIAL"

Defines which sound is played upon impact.

* property name="stepsound" value="MATERIAL"

Defines which sound is played when walked on.

* property name="movement\_factor" value="NUMBER"

If entities are slowed (or accelerated) when walking on this block. Numbers<1 are slow, 1 is default and no change and >1 is an acceleration.

* property name="Hardness" type="float" value="NUMBER"

The hardness of a block is something like it's hitpoints. The more, the harder the block is to destroy.

* property name="StabilitySupport" value="BOOLEAN"

If the block supports other blocks when building structures. If this is not stated, the default is "true".

* property name="Mass" type="int" value="NUMBER"
* property name="stability\_glue" value="0"

Used to calculate the structural integrity of a block. The mass is somewhat the "weight" of a block where the stability\_glue the amount of weight of unsupported blocks is, that this block can carry. For more information, see Structural Integrity.

* property name="forge\_category" value="MATERIAL"

What you can use this block for smelting, i.e. stone could be used for smelting to cement etc.

* property name="explosionresistance" value="NUMBER"

How much the block is effected by explosions. The number can range from 0 to 1, where 0 is no resistance and 1 is complete immunity.

# groups.xml

Defines the possible item groups. A custom group does not show up in the crafting ui while playing, however you can still edit the background color and alpha to distinguish custom-items better from standard-items.

* group name="GROUPNAME"

The name of the group.

* color="COLORCODE"

The colorcode; you can go to colorpicker to get the code of a color you want.

* alpha="NUMBER”

Can be anything between 0 and 1.

# qualityinfo.xml

Here one can define which color is shown for which quality of an item.

* key="NUMBER"

This is like an id, so that the quality can be referenced to.

* color="COLORCODE"

The colorcode; you can go to colorpicker to get the code of a color you want.