Item Mod Creation

To create an item mod, you'll need to do the following things:

1) Create an xml file with the item description
XML is a text markup format which the game can process. The basic item xml looks like this:

samplemod:sample_item_unique_id_1 samplemod:sample_item_unique_string_key_1 50 3 sample_item_1.png  samplemod:sample_drop_table false boost_resource_production fuel 1           3

Let's go through item parameters one by one:
 * id - your unique item identifier. try to add your nickname:some_item_id to avoid collision with other mods. i.e. comrad_gremlin:space_biscuit - the id won't be displayed in game (you'll still see it in mod editor window), but it used for item crafting
 * name - that's the item name. again, try to make it a unique string, you will be giving it a translation later on
 * drop_chance - the drop rating on which the item will drop from the supply boxes. if left to zero - the item will never drop. the higher number, the higher chance to drop. All current in-game basic items have 50 drop rating.
 * max_level - max item level to which it can be upgraded
 * sprite - item sprite, taken from sprites folder
 * recipe_items - items that are needed to craft this item. you can leave it blank if item is uncraftable. If you want an item to be craftable - you need to set three ingredients (at least one of them must be different from the other ones). i.e.

 samplemod:sample_item_unique_id_1</id> samplemod:sample_item_unique_id_1</id> coldwild_space_milk</id> </recipe_items>
 * In the case above, the new item will require two custom player items to be created. Existing lazy galaxy items can be used in recipes. Here is the list of crafting indexes that you can use:
 * 1) coldwild_space_butter
 * 2) coldwild_space_milk
 * 3) coldwild_space_egg
 * 4) coldwild_space_egg
 * 5) coldwild_space_flour
 * 6) coldwild_space_meat
 * 7) coldwild_berries
 * 8) coldwild_cheese
 * 9) coldwild_omelette
 * 10) coldwild_biscuit
 * 11) coldwild_crepe
 * 12) coldwild_crouton
 * 13) coldwild_crepe_pockets
 * 14) coldwild_bread
 * 15) coldwild_sandwich
 * 16) coldwild_noodles
 * 17) coldwild_ramen
 * 18) coldwild_meat_pie
 * 19) coldwild_egg_casserole
 * 20) coldwild_cheese_soup
 * 21) coldwild_advanced_cheese_soup
 * 22) coldwild_planetary_cupcake
 * 23) coldwild_cheesecake
 * 24) coldwild_icecream
 * 25) coldwild_ice_crepe
 * 26) coldwild_cake
 * 27) coldwild_milkshake
 * bonuses is a list of bonuses, consisting of up to three entries
 * one bonus entry has the following parameters
 * type - bonus type
 * sub_type - bonus subtype
 * amount - percentage of how much the bonus gives
 * growth_per_level - when you combine three similar items, what is the multiplier of this bonus in resulting item? for example, if you combine three level one items with bonus amount 2 and growth per level 4, you will get a resulting item with bonus amount 8. If you then combine three level 2 items with bonus amount 8, the new item will have bonus amount 32, etc, etc.

Bonus Types / Subtypes
Bonus Subtypes are dependant on bonus type. Here is the full list of current bonus types and subtypes:

2) Put the item sprites into the sprites folder
For items to be displayed in the game properly, you need to put their images into sprites folder of your mod folder. For the previous item, the path would be my_sample_mod/sprites/sample_item_1.png

The image should be in png format, ideally in one of three sizes: 32x32, 64x64 or 128x128

3) Add the language file with item names
For the game to show the real item names and not name_ids, you need to add en.xml or ru.xml (or both) into the my_sample_mod/languages folder.

The file structure is quite simple: <line key="samplemod:sample_item_unique_string_key_1">Sample moded basic item <line key="samplemod:sample_item_unique_string_key_2">Sample moded basic item <line key="samplemod:sample_item_unique_string_key_3">Sample moded crafted item

each line contains your item name and translation from it. To make it simpler: my item name in chosen language You can have as many lines as necessary in that file. (each item would need a line). It's not strictly necessary since these names can be written directly in your item.xml files, but it keeps it cleaner in case someone wants to translate the file to another language

4) Your own item boxes
Starting from the release patch, the items can be placed in custom drop boxes that drop randomly instead of a normal one according to the drop_chance parameter. Sample supply box code: samplemod:sample_supply_box_id_1</id> samplemod:sample_supply_box_name_1 10</drop_chance> <drop_table>samplemod:sample_drop_table2</drop_table> True</is_drop_box> <drops_from>samplemod:sample_drop_table</drops_from> 0</max_level> supplybox2.png  </recipe_items>

As you can see, the only different from the normal item is that the item has is_drop_box set to true and then the unique drop_table name (that should match in all next items). Note: default supply box drop rate is 50.

Starting from patch 1.0.1, If you want your supply box to drop from other supply box - you can add drops_from tag and specify the drop_table name.

As stated before, the remaining items (that you want to drop from that box) must have the same drop_table parameter

Sample mod files can be downloaded here: coldwild.com/sample_mod.zip