diff --git a/Addons.md b/Addons.md
new file mode 100644
index 0000000..7546a14
--- /dev/null
+++ b/Addons.md
@@ -0,0 +1,165 @@
+With Cubyz Addons you can easily add content to the game.
+Unlike modding, writing an Addon doesn't require any programming experience.
+
+Here you can find an instruction on how to make addon files. At the end of this page you will find a list of links to existing addons.
+
+## How to make your own Addon:
+1. Locate the `addons` folder(should be inside the location you installed Cubyz in)
+2. Create a new folder with the name(should not contain any spaces) of your Addon.
+3. Decide what things you want to add and add the corresponding folder(`items`, `blocks`, `recipes`, `biomes`).
+4. Create a text file in the folder that represent the item/block/biome name(`name.any_extension` or just `name`).
+
For recipes the file name is not used anywhere in the game and can be used for structuring.
+5. Check the following examples on how to fill the file:
+#### Items
+There is not much to do here. All you can do is add a texture path. There will come more possibilities in later versions, if requested.
+
Put the texture of your item in `*cubyz install path*/assets/*addon name*/textures/items`.
+
Copy the texture path(relative to the `…/assets/…/items` folder) into the file you made for your item:
+```
+texture *path to texture*/*name of file*.png
+```
+If no path or an invalid path is specified the texture will default to no texture.
+
+Example item file(`addons/cubyz/items/coal`):
+```
+texture materials/coal.png
+```
+
+Item IDs are generated as `addon_name:item_name`. That's also the name that has to be used for recipes and block drops.
+#### Blocks
+Each block has the following attributes:
+- a block class which can be one of the following: `wood`, `stone`, `sand`, `unbreakable`, `leaf`, `fluid` and `ore`.
+The block class determine if the block can be broken and with what tool you can break it.
+Default value: `stone`
+Syntax example: `class stone`
+- a hardness which represents the time in seconds needed to break the block by hand. It can get significantly reduced by the right tools.
+Default value: `1`
+Syntax example: `hardness 1`
+- a block drop, which is the item the player will get when they break the block.
+Default value: `none`
+Syntax example: `drop auto`(to auto-generate the drop with the same name as the block) or `drop addon_name:item_name`
+- a 3d model
+Default value: `undefined`
+Syntax example: `model cubyz:block.obj`
+- a texture for that 3d model.
+Default value: `undefined`
+Syntax example: `texture cubyz:blocks/cactus` if the texture is in `cubyz install path/assets/cubyz/textures/blocks/cactus.png`
+- wether the block is transparent.
+Default value: `no`
+Syntax example: `transparent yes`
+- light absorption in case the block is transparent.
+There are four light channels: sun, red, green, blue. The value is given as hexadecimal: `0xssrrggbb`
+Default value: `0x00000000`
+Syntax example: `absorbedLight 0x06080008`(The block lets mostly green light through)
+- light emission: how much light the block emits
+There are four light channels: sun, red, green, blue. The value is given as hexadecimal: `0xssrrggbb`
+Default value: `0x00000000`
+Syntax example: `emittedLight 0x00ff8000`(The block emits orange light)
+- wether the block is degradable(trees can grow through it).
+Default value: `no`
+Syntax example: `degradable yes`
+- wether the block is solid.
+Default value: `yes`
+Syntax example: `solid no`
+- a GUI that is opened on left-click. Possible GUIs in non-modded cubyz: cubyz:workbench
+Default value: `none`
+Syntax example: `GUI cubyz:workbench`
+
+##### Ores
+If you specify the block class ore, you can set a few more attributes that define the world generation of these ores:
+- how many veins there are on average in each chunk.
+Default value: `0`
+Syntax Example: `veins 10`
+- how big each vein is on average.
+Default value: `0`
+Syntax Example: `size 15`
+- maximum height of ore veins.
+Default value: `0`
+Syntax Example: `height 128`
+
+Example block file(`addons/cubyz/blocks/coal_ore`):
+```
+class ore
+hardness 40
+veins 10
+size 15
+height 128
+drop cubyz:coal
+model cubyz:block.obj
+texture cubyz:blocks/coal_ore
+```
+
+#### Recipes
+In each file you can define shortcuts for item names like this:
+```
+L = cubyz:oak_log
+T = cubyz:oak_top
+P = cubyz:oak_planks
+```
+Then you can create any amount of recipes you want. If you want a recipe to contain empty spaces, you can use 0 instead of the item name or shortcut.
+##### shapeless recipes:
+You can define shapeless recipes using the `shapeless` keyword simply by enumerating all items (or their respective shortcut) seperated by spaces(or other space-like symbols like tabs) and stating the result(and how many items you want to get):
+```
+shapeless
+L
+result 4*P
+```
+##### shaped recipes:
+You can define shaped recipes using the `shaped` keyword. Afterwards you have to define the shape of your recipe using items. And at the end you need to specify the result:
+```
+shaped
+P P
+P P
+result cubyz:workbench
+```
+
+#### Biomes
+biome files are seperated in two parts:
+##### 1. general attributes
+- temperature in an arbitrary unit(0 meaning super cold, 360 meaning super hot)
+Default value: `180`
+Syntax Example: `temperature 115`
+- height arguments(minimal height, average height, maximal height)
+Default value: `128`
+Syntax Example: `height 120-140-256`
+- humidity(0 meaning dry, 1 meaning wet)
+Default value: `0.5`
+Syntax Example: `humidity 0.4`
+- roughness(how rough the terrain is. Can be any value >= 0 where 0 means no roughness at all, 0.3 means slightly rough, 1 means pretty rough, 2-4 means super rough, 100 means random spikes, higher values were not tested)
+Default value: `1`
+Syntax Example: `roughness 0`
+- rivers(if rivers should start in this biome)
+Default value: `yes`
+Syntax Example: `rivers`
+- ground structure: how the surface blocks are structured.
+Default value: `stone`
+Syntax Example: `ground_structure cubyz:grass, 2 cubyz:dirt, 1 to 5 cubyz:cobblestone`
+
+##### 2. structures
+After the `structures:` keyword, you can add structures that get generated by cubyz-intern or modded structure generators. Currently there are:
+###### cubyz:simple_vegetation
+Columns of a certain block type with a certain height and chance:
+`cubyz:simple_vegetation cubyz:cactus 0.01 3 2` will generate a cactus on every 100th block with a height of 3 to 3+2 blocks.
+###### cubyz:simple_tree
+Columns of a certain block type with a certain height and chance:
+`cubyz:simple_tree cubyz:oak_leaves cubyz:oak_log cubyz:oak_top 0.05 4 3` will generate an oak tree on every 20th block with a 4 to 4+3 block high stem.
+
+Example file(`addons/cubyz/biomes/forrest`):
+```
+temperature 110
+humidity 0.6
+height 102-114-140
+ground_structure cubyz:grass, 2 to 3 cubyz:dirt
+roughness 0.1
+
+structures:
+ cubyz:simple_tree cubyz:oak_leaves cubyz:oak_log cubyz:oak_top 0.05 7 3
+ cubyz:simple_vegetation cubyz:grass_vegetation 0.3 1 0
+```
+
+## Existing Addons
+If you made an addon and want it to appear on this list, contact us on [discord](https://discord.gg/XtqCRRG) so we can see if it contains any inappropiate content and if it doesn't, we'll add it to the list.
+
+
+Currently there is no addon here(apart from the base addon) :(
+
+- [cubyz base addon](https://github.com/PixelGuys/Cubyz/tree/master/cubyz-client/addons/cubyz)
\ No newline at end of file