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
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. 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. 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:
 * item id="NUMBER"
 * item name=”ITEMNAME”
 * item name=”ITEMNAME”
 * property name="Group" value="GROUPNAME"
 * property name="Group" value="GROUPNAME"

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".

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. Inks the icon with the chosen color; useful to differentiate custom items from standard ones.
 * property name="CustomIcon" value="ITEMNAME"
 * property name="CustomIconTint" value="COLORCODE"
 * property name="CustomIconTint" value="COLORCODE"

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. The look of an item dropped on the ground. The look of an item if held in hand. Needed if it normally would not be held in hand, such as crossbow bolts. 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. 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. How much of this item can stack in one field of your belt/backpack. In case the item is destroyed, which sound is played. There are other events like this:
 * property name="Meshfile" value="FILEPATH"
 * property name="DropMeshfile" value="FILEPATH"
 * property name="DropMeshfile" value="FILEPATH"
 * property name="HandMeshfile" value="FILEPATH"
 * property name="HandMeshfile" value="FILEPATH"
 * property name="Material" value="MATERIALNAME"
 * property name="Material" value="MATERIALNAME"
 * property name="HoldType" value="NUMBER"
 * property name="HoldType" value="NUMBER"
 * property name="Stacknumber" value="NUMBER"
 * property name="Stacknumber" value="NUMBER"
 * property name="SoundDestroy" value="NAMEOFSOUND"
 * property name="SoundDestroy" value="NAMEOFSOUND"
 * Sound_start, Sound_repeat, Sound_end, SoundJammed, Sound_empty, Sound_reload, SoundIdle, Sound_warning, Sound_draw, Sound_cancel, Upgrade_action_sound, Repair_action_sound

Effecting how much you get as output if you smelt it in your forge or how much you can scrap it for. If the item degrades with use. If the item breaks after reaching 0 durability.
 * property name="Weight" value="NUMBER"
 * property name="Degradation" value="NUMBER" param1="BOOLEAN"
 * property name="Degradation" value="NUMBER" param1="BOOLEAN"
 * property name="DegradationBreaksAfter" value="false"
 * property name="DegradationBreaksAfter" value="false"

Tools, Weapons
A property for "hand"-items. You can not throw these away. Means a left mouse click. "Action1" is a right mouse click. If you can hold down the mouse to fire or not.
 * property name="Candrop" value="false"
 * property class="Action0"
 * property class="Action0"
 * property name="Auto_fire" value="BOOLEAN"
 * property name="Auto_fire" value="BOOLEAN"

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="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="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="Adjacentblock" value="dirt"
 * Again, only for the hoe. Makes any adjacent block to the target block a dirt block.

you can not upgrade the block with your currently held item. The possible materials are (unless you define another 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),
 * 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),
 * 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.
 * This is need if a block should be placed. This defines which block exactly is placed.

If the item can be repaired by other items, here is defined by which ones. 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. By how many seconds this item fires your campfire or forge if used as fuel. A property solely for weapons. The number can be anything between 0 and 1. If the item applies a buff to the entity hit. The buff must be defined in buffs.xml. The chance of applying said buff. The number can range from 0 to 1. 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. The time between two uses of your item. The lower this number is, the faster it can be used. The range at which your item hits its target. This can be used if the item hits blocks at a different range than entities. Useful for supporting a building tool (or restricting it). 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. Obsolete if there is a class="Attributes" (see below) with this property. Else it defines the damage done to your enemies. Same as DamageEntity. The amount of stamina needed to use the item. If you gain health or something like that from using the item. A negative value means a loss. Possible attributes are:
 * property name="RepairTools" value="ITEMNAME"
 * property name="RepairAmount" value="NAME"
 * property name="RepairAmount" value="NAME"
 * property name="FuelValue" value="NUMBER"
 * property name="FuelValue" value="NUMBER"
 * property name="CritChance" value="NUMBER"
 * property name="CritChance" value="NUMBER"
 * property name="Buff" value="BUFFNAME"
 * property name="Buff" value="BUFFNAME"
 * property name="Buff_chance" value="NUMBER"
 * property name="Buff_chance" value="NUMBER"
 * property name="DamageBonus.MATERIAL"
 * property name="DamageBonus.MATERIAL"
 * property name="Delay" value="NUMBER"
 * property name="Delay" value="NUMBER"
 * property name="Range" value="NUMBER"
 * property name="Range" value="NUMBER"
 * property name="Block_range" value="NUMBER"
 * property name="Block_range" value="NUMBER"
 * property name="Sphere" value="NUMBER"
 * property name="Sphere" value="NUMBER"
 * property name="DamageEntity" value="NUMBER"
 * property name="DamageEntity" value="NUMBER"
 * property name="DamageBlock" value="NUMBER"
 * property name="DamageBlock" value="NUMBER"
 * property name="Stamina_usage" value="NUMBER"
 * property name="Stamina_usage" value="NUMBER"
 * property name="Gain_ATTRIBUTE" value="NUMBER"
 * property name="Gain_ATTRIBUTE" value="NUMBER"
 * health, stamina, food, water, wellness, gas, sickness

Related to "heat" generation (aka luring scouts to you). Same as above. These four lines are needed if a flashlight should be attachable.
 * property name="Horde_meter_rate" value="NUMBER"
 * property name="Horde_meter_distance" value="NUMBER"
 * property name="Horde_meter_distance" value="NUMBER"
 * property name="Attachments" value="flashlight02"
 * property name="LightSource" value="lightSource"
 * property name="ActivateObject" value="Attachments/flashlight/lightSource"
 * property name="AttachmentFlashlight" value="flashlight02"
 * property name="AttachmentFlashlight" value="flashlight02"

Quality System
If the item is subject to the quality system, it has this class. See DamageEntity above. This replaces any DamageEntity from above. Same as EntityDamage. 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. And again, depending on the different quality variables for the DegradationRate. The lower it is the longer the item lasts.
 * property class="Attributes"
 * property name="EntityDamage" value="NUMBER,NUMBER"
 * property name="EntityDamage" value="NUMBER,NUMBER"
 * property name="BlockDamage" value="NUMBER,NUMBER"
 * property name="BlockDamage" value="NUMBER,NUMBER"
 * property name="DegradationMax" value=""NUMBER,NUMBER"
 * property name="DegradationMax" value=""NUMBER,NUMBER"
 * property name="DegradationRate" value="NUMBER,NUMBER"
 * property name="DegradationRate" value="NUMBER,NUMBER"

= 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.

The name of the material. No two material are allowed to share the same name. 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. If light is dimmed when it shines through the block. The higher the number the more dimmed it gets. 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. Defines which sound is played upon impact. Defines which sound is played when walked on. 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. The hardness of a block is something like it's hitpoints. The more, the harder the block is to destroy. If the block supports other blocks when building structures. If this is not stated, the default is "true". 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. What you can use this block for smelting, i.e. stone could be used for smelting to cement etc. 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.
 * id="NAME"
 * property name="collidable" value="BOOLEAN"
 * property name="collidable" value="BOOLEAN"
 * property name="lightopacity" value="NUMBER"
 * property name="lightopacity" value="NUMBER"
 * property name="damage_category" value="MATERIAL"
 * property name="damage_category" value="MATERIAL"
 * property name="surface_category" value="MATERIAL"
 * property name="surface_category" value="MATERIAL"
 * property name="stepsound" value="MATERIAL"
 * property name="stepsound" value="MATERIAL"
 * property name="movement_factor" value="NUMBER"
 * property name="movement_factor" value="NUMBER"
 * property name="Hardness" type="float" value="NUMBER"
 * property name="Hardness" type="float" value="NUMBER"
 * property name="StabilitySupport" value="BOOLEAN"
 * property name="StabilitySupport" value="BOOLEAN"
 * property name="Mass" type="int" value="NUMBER"
 * property name="stability_glue" value="0"
 * property name="stability_glue" value="0"
 * property name="forge_category" value="MATERIAL"
 * property name="forge_category" value="MATERIAL"
 * property name="explosionresistance" value="NUMBER"
 * property name="explosionresistance" value="NUMBER"

= 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.

The name of the group. The colorcode; you can go to colorpicker to get the code of a color you want. Can be anything between 0 and 1.
 * group name="GROUPNAME"
 * color="COLORCODE"
 * color="COLORCODE"
 * alpha="NUMBER”
 * alpha="NUMBER”

= qualityinfo.xml = Here one can define which color is shown for which quality of an item. This is like an id, so that the quality can be referenced to. The colorcode; you can go to colorpicker to get the code of a color you want.
 * key="NUMBER"
 * color="COLORCODE"
 * color="COLORCODE"

= vehicles.xml = Yet to be explained