diff --git a/src/main/java/cz/jzitnik/game/SpriteLoader.java b/src/main/java/cz/jzitnik/game/SpriteLoader.java
index c28d0b9..16edd8f 100644
--- a/src/main/java/cz/jzitnik/game/SpriteLoader.java
+++ b/src/main/java/cz/jzitnik/game/SpriteLoader.java
@@ -79,6 +79,7 @@ public class SpriteLoader {
         // Items
         ITEM_STICK,
         ITEM_LEATHER,
+        ITEM_DYE,
 
         // Block Items
         ITEM_DIRT,
@@ -188,21 +189,6 @@ public class SpriteLoader {
         SPRITES_MAP.put(SPRITES.OBSIDIAN, new SimpleSprite("obsidian.ans"));
         SPRITES_MAP.put(SPRITES.SAND, new SimpleSprite("sand.ans"));
 
-        // Flowers etc.
-        SPRITES_MAP.put(SPRITES.GRASS_BUSH, new SimpleSprite("grass_bush.ans"));
-        SPRITES_MAP.put(SPRITES.POPPY, new SimpleSprite("poppy.ans"));
-        SPRITES_MAP.put(SPRITES.RED_TULIP, new SimpleSprite("red_tulip.ans"));
-        SPRITES_MAP.put(SPRITES.PINK_TULIP, new SimpleSprite("pink_tulip.ans"));
-        SPRITES_MAP.put(SPRITES.WHITE_TULIP, new SimpleSprite("white_tulip.ans"));
-        SPRITES_MAP.put(SPRITES.ORANGE_TULIP, new SimpleSprite("orange_tulip.ans"));
-        SPRITES_MAP.put(SPRITES.DANDELION, new SimpleSprite("dandelion.ans"));
-        SPRITES_MAP.put(SPRITES.LILY_OF_THE_VALLEY, new SimpleSprite("lily_of_the_valley.ans"));
-        SPRITES_MAP.put(SPRITES.CORNFLOWER, new SimpleSprite("cornflower.ans"));
-        SPRITES_MAP.put(SPRITES.ALLIUM, new SimpleSprite("allium.ans"));
-        SPRITES_MAP.put(SPRITES.BLUE_ORCHID, new SimpleSprite("blue_orchid.ans"));
-        SPRITES_MAP.put(SPRITES.OXEYE_DAISY, new SimpleSprite("oxeye_daisy.ans"));
-        SPRITES_MAP.put(SPRITES.AZURE_BLUET, new SimpleSprite("azure_bluet.ans"));
-
         // Ores
         SPRITES_MAP.put(SPRITES.COAL_ORE, new SimpleSprite("coal_ore.ans"));
         SPRITES_MAP.put(SPRITES.IRON_ORE, new SimpleSprite("iron_ore.ans"));
@@ -220,9 +206,31 @@ public class SpriteLoader {
         SPRITES_MAP.put(SPRITES.CHEST, new SimpleSprite("chest.ans"));
         SPRITES_MAP.put(SPRITES.BED, new Bed());
 
+        // GRASSY THINGS
+
         // Saplings
         SPRITES_MAP.put(SPRITES.OAK_SAPLING, new SimpleSprite("oak_sapling.ans"));
 
+        // Flowers
+        SPRITES_MAP.put(SPRITES.POPPY, new SimpleSprite("poppy.ans"));
+        SPRITES_MAP.put(SPRITES.RED_TULIP, new SimpleSprite("red_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.PINK_TULIP, new SimpleSprite("pink_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.WHITE_TULIP, new SimpleSprite("white_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.ORANGE_TULIP, new SimpleSprite("orange_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.DANDELION, new SimpleSprite("dandelion.ans"));
+        SPRITES_MAP.put(SPRITES.LILY_OF_THE_VALLEY, new SimpleSprite("lily_of_the_valley.ans"));
+        SPRITES_MAP.put(SPRITES.CORNFLOWER, new SimpleSprite("cornflower.ans"));
+        SPRITES_MAP.put(SPRITES.ALLIUM, new SimpleSprite("allium.ans"));
+        SPRITES_MAP.put(SPRITES.BLUE_ORCHID, new SimpleSprite("blue_orchid.ans"));
+        SPRITES_MAP.put(SPRITES.OXEYE_DAISY, new SimpleSprite("oxeye_daisy.ans"));
+        SPRITES_MAP.put(SPRITES.AZURE_BLUET, new SimpleSprite("azure_bluet.ans"));
+
+        // Grass
+        SPRITES_MAP.put(SPRITES.GRASS_BUSH, new SimpleSprite("grass_bush.ans"));
+
+        // Seeds
+        SPRITES_MAP.put(SPRITES.ITEM_WHEAT_SEEDS, new SimpleSprite("items/wheat_seeds.ans"));
+
         // ENTITIES
         SPRITES_MAP.put(SPRITES.STEVE, new Steve());
         SPRITES_MAP.put(SPRITES.PIG, new Pig());
@@ -239,6 +247,7 @@ public class SpriteLoader {
         // Items
         SPRITES_MAP.put(SPRITES.ITEM_STICK, new SimpleSprite("items/stick.ans"));
         SPRITES_MAP.put(SPRITES.ITEM_LEATHER, new SimpleSprite("items/leather.ans"));
+        SPRITES_MAP.put(SPRITES.ITEM_DYE, new Dye());
 
         // Block Items
         SPRITES_MAP.put(SPRITES.ITEM_DIRT, new SimpleSprite("items/dirt.ans"));
@@ -322,8 +331,7 @@ public class SpriteLoader {
         SPRITES_MAP.put(SPRITES.ITEM_STEAK, new SimpleSprite("items/steak.ans"));
         SPRITES_MAP.put(SPRITES.ITEM_APPLE, new SimpleSprite("items/apple.ans"));
 
-        // Seeds
-        SPRITES_MAP.put(SPRITES.ITEM_WHEAT_SEEDS, new SimpleSprite("items/wheat_seeds.ans"));
+
     }
 
     public static SpriteList<SPRITES> load() {
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GrassBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/blocks/GrassBlockRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GrassBlockRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/blocks/GrassBlockRecipe.java
index 37e58c6..37eb453 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GrassBlockRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/blocks/GrassBlockRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.blocks;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/OakDoorRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/blocks/OakDoorRecipe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/OakDoorRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/blocks/OakDoorRecipe.java
index a6e0a42..631e00c 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/OakDoorRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/blocks/OakDoorRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.blocks;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/OakPlanksRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/blocks/OakPlanksRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/OakPlanksRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/blocks/OakPlanksRecipe.java
index 1e8b763..41284ef 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/OakPlanksRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/blocks/OakPlanksRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.blocks;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/BlueDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/BlueDyeRecipe.java
new file mode 100644
index 0000000..7a4f163
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/BlueDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "cornflower", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "blue_dye",
+        amount = 1
+)
+public class BlueDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightBlueDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightBlueDyeRecipe.java
new file mode 100644
index 0000000..6ffae61
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightBlueDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "blue_orchid", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "light_blue_dye",
+        amount = 1
+)
+public class LightBlueDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDye2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDye2Recipe.java
new file mode 100644
index 0000000..e405c67
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDye2Recipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "oxeye_daisy", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "light_gray_dye",
+        amount = 1
+)
+public class LightGrayDye2Recipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDye3Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDye3Recipe.java
new file mode 100644
index 0000000..b6ba736
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDye3Recipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "white_tulip", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "light_gray_dye",
+        amount = 1
+)
+public class LightGrayDye3Recipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDyeRecipe.java
new file mode 100644
index 0000000..b974c1c
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/LightGrayDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "azure_bluet", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "light_gray_dye",
+        amount = 1
+)
+public class LightGrayDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/MagentaDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/MagentaDyeRecipe.java
new file mode 100644
index 0000000..0c05b8d
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/MagentaDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "Allium", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "magenta_dye",
+        amount = 1
+)
+public class MagentaDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/OrangeDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/OrangeDyeRecipe.java
new file mode 100644
index 0000000..490841a
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/OrangeDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "orange_tulip", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "orange_dye",
+        amount = 1
+)
+public class OrangeDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/PinkDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/PinkDyeRecipe.java
new file mode 100644
index 0000000..7d0d8a7
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/PinkDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "pink_tulip", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "pink_dye",
+        amount = 1
+)
+public class PinkDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/RedDye2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/RedDye2Recipe.java
new file mode 100644
index 0000000..dafd04d
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/RedDye2Recipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "red_tulip", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "red_dye",
+        amount = 1
+)
+public class RedDye2Recipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/RedDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/RedDyeRecipe.java
new file mode 100644
index 0000000..f866baa
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/RedDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "poppy", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "red_dye",
+        amount = 1
+)
+public class RedDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/WhiteDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/WhiteDyeRecipe.java
new file mode 100644
index 0000000..f772528
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/WhiteDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "lily_of_the_valley", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "white_dye",
+        amount = 1
+)
+public class WhiteDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/YellowDyeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/YellowDyeRecipe.java
new file mode 100644
index 0000000..717a663
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/dyes/YellowDyeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes.dyes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "dandelion", "_", "_",
+                "_", "_", "_",
+                "_", "_", "_"
+        },
+        result = "yellow_dye",
+        amount = 1
+)
+public class YellowDyeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StickRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/items/StickRecipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StickRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/items/StickRecipe.java
index d05609a..f061c11 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StickRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/items/StickRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.items;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/CoalBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/coal/CoalBlockRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/CoalBlockRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/coal/CoalBlockRecipe.java
index 56916e6..e7a9bcd 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/CoalBlockRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/coal/CoalBlockRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.coal;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/CoalRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/coal/CoalRecipe.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/CoalRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/coal/CoalRecipe.java
index 5721ea2..59a6610 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/CoalRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/coal/CoalRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.coal;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/diamond/DiamondBlockRecipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondBlockRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/diamond/DiamondBlockRecipe.java
index 50e3066..bfbc3d2 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondBlockRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/diamond/DiamondBlockRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/diamond/DiamondRecipe.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/diamond/DiamondRecipe.java
index aab018e..eba1de3 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/diamond/DiamondRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/gold/GoldBlockRecipe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldBlockRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/gold/GoldBlockRecipe.java
index 90c4ac3..24d86f8 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldBlockRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/gold/GoldBlockRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.gold;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldIngotRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/gold/GoldIngotRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldIngotRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/gold/GoldIngotRecipe.java
index 002d6be..cb14da2 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldIngotRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/gold/GoldIngotRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.gold;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/iron/IronBlockRecipe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronBlockRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/iron/IronBlockRecipe.java
index 601b5cf..7c52013 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronBlockRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/iron/IronBlockRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronIngotRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/iron/IronIngotRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronIngotRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/ores/iron/IronIngotRecipe.java
index c4f8745..a34c759 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronIngotRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/ores/iron/IronIngotRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.ores.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/BucketRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/BucketRecipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/BucketRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/BucketRecipe.java
index 637cea3..396688a 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/BucketRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/BucketRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/ShearsRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/ShearsRecipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/ShearsRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/ShearsRecipe.java
index b9a7889..8852013 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/ShearsRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/ShearsRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/ShearsRecipe2.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/ShearsRecipe2.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/ShearsRecipe2.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/ShearsRecipe2.java
index 38436c9..46c2f93 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/ShearsRecipe2.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/ShearsRecipe2.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondAxe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondAxe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondAxe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondAxe2Recipe.java
index c39c0cf..364cf3f 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondAxe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondAxe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondAxeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondAxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondAxeRecipe.java
index 2032223..f8c0316 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondAxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondAxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondHoe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondHoe2Recipe.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondHoe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondHoe2Recipe.java
index b99c838..9969b4d 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondHoe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondHoe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondHoeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondHoeRecipe.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondHoeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondHoeRecipe.java
index e76a024..2e6bb44 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondHoeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondHoeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondPickaxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondPickaxeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondPickaxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondPickaxeRecipe.java
index 4838f43..46e2922 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondPickaxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondPickaxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondShovelRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondShovelRecipe.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondShovelRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondShovelRecipe.java
index 13d5e9e..53efc1b 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondShovelRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondShovelRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondSwordRecipe.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/DiamondSwordRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondSwordRecipe.java
index 7479801..44bba91 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondSwordRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/diamond/DiamondSwordRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.diamond;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenAxe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenAxe2Recipe.java
index 52de133..7d85774 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenAxe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.golden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenAxeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenAxeRecipe.java
index 8bc6eaa..5f708e4 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenAxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.golden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenHoe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenHoe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldenHoe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenHoe2Recipe.java
index d708873..5216914 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenHoe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenHoe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.golden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenHoeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenHoeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldenHoeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenHoeRecipe.java
index cfcae25..921a135 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenHoeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenHoeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.golden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenPickaxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenPickaxeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldenPickaxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenPickaxeRecipe.java
index 4453b52..15954c2 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenPickaxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenPickaxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.golden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenShovelRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenShovelRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldenShovelRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenShovelRecipe.java
index 37663ed..9176cff 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenShovelRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenShovelRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.golden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenSwordRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/GoldenSwordRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenSwordRecipe.java
index 6eab0b1..3b7e9cb 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenSwordRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/golden/GoldenSwordRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.golden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronAxe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronAxe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronAxe2Recipe.java
index 2a85e83..f7f0326 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronAxe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronAxeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronAxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronAxeRecipe.java
index 849cf2e..61e423c 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronAxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronHoe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronHoe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronHoe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronHoe2Recipe.java
index b658e71..259eef5 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronHoe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronHoe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronHoeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronHoeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronHoeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronHoeRecipe.java
index 2f2a5dd..7f7009c 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronHoeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronHoeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronPickaxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronPickaxeRecipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronPickaxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronPickaxeRecipe.java
index d2e7ef6..6624f7e 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronPickaxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronPickaxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronShovelRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronShovelRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronShovelRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronShovelRecipe.java
index f19c193..abf9ca9 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronShovelRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronShovelRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronSwordRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/IronSwordRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronSwordRecipe.java
index 3d65589..4506235 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/IronSwordRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/iron/IronSwordRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.iron;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneAxe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneAxe2Recipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StoneAxe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneAxe2Recipe.java
index 3b1e52d..15eeaf8 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneAxe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneAxe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.stone;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneAxeRecipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StoneAxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneAxeRecipe.java
index 73838c9..917934c 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneAxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneAxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.stone;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneHoe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneHoe2Recipe.java
index 06fe48e..9168f2f 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneHoe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.stone;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneHoeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneHoeRecipe.java
index 4af70f6..e26fd40 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneHoeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.stone;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StonePickaxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StonePickaxeRecipe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StonePickaxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StonePickaxeRecipe.java
index ca7d5ce..3bf6e41 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StonePickaxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StonePickaxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.stone;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneShovelRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneShovelRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StoneShovelRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneShovelRecipe.java
index d1757c2..6b1859d 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneShovelRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneShovelRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.stone;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneSwordRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/StoneSwordRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneSwordRecipe.java
index 2828055..a2d7453 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneSwordRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/stone/StoneSwordRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.stone;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenAxe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenAxe2Recipe.java
index a84f1ab..efdee20 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenAxe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.wooden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenAxeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenAxeRecipe.java
index 3d6ba65..e184224 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenAxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.wooden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenHoe2Recipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoe2Recipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenHoe2Recipe.java
index 98b348c..748b92e 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoe2Recipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenHoe2Recipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.wooden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenHoeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenHoeRecipe.java
index 31d2155..9e36985 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenHoeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.wooden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenPickaxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenPickaxeRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/WoodenPickaxeRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenPickaxeRecipe.java
index 34a9d6a..2df71b5 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenPickaxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenPickaxeRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.wooden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenShovelRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenShovelRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/WoodenShovelRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenShovelRecipe.java
index 8cd9696..8cd8f38 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenShovelRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenShovelRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.wooden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenSwordRecipe.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/WoodenSwordRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenSwordRecipe.java
index c8fc96a..1181dbd 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenSwordRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/tools/wooden/WoodenSwordRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.tools.wooden;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/BedRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/work/BedRecipe.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/BedRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/work/BedRecipe.java
index 34ff870..d34b8e4 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/BedRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/work/BedRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.work;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/ChestRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/work/ChestRecipe.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/ChestRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/work/ChestRecipe.java
index 9cc55d6..06c16b2 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/ChestRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/work/ChestRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.work;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/CraftingTableRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/work/CraftingTableRecipe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/CraftingTableRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/work/CraftingTableRecipe.java
index 68b19fd..04c52ad 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/CraftingTableRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/work/CraftingTableRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.work;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/FurnaceRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/work/FurnaceRecipe.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/crafting/recipes/FurnaceRecipe.java
rename to src/main/java/cz/jzitnik/game/crafting/recipes/work/FurnaceRecipe.java
index 6026117..a62ab1b 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/FurnaceRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/work/FurnaceRecipe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.crafting.recipes;
+package cz.jzitnik.game.crafting.recipes.work;
 
 import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
 
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CobblestoneBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/CobblestoneBlock.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CobblestoneBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/CobblestoneBlock.java
index b885be5..12fd58a 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CobblestoneBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/CobblestoneBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DirtBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/DirtBlock.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DirtBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/DirtBlock.java
index 814d0dc..9b04789 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DirtBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/DirtBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrassBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/GrassBlock.java
similarity index 90%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrassBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/GrassBlock.java
index d01dc4d..4625701 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrassBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/GrassBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LavaBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/LavaBlock.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LavaBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/LavaBlock.java
index 7763fd7..f5d6cc7 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LavaBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/LavaBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakDoorBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakDoorBlock.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakDoorBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakDoorBlock.java
index c8e18b4..4694920 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakDoorBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakDoorBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakLeavesBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakLeavesBlock.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakLeavesBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakLeavesBlock.java
index 003983d..5d5cc00 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakLeavesBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakLeavesBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakLogBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakLogBlock.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakLogBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakLogBlock.java
index b64ca7b..3ec39df 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakLogBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakLogBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakPlanksBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakPlanksBlock.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakPlanksBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakPlanksBlock.java
index d28563a..721b1d1 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakPlanksBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/OakPlanksBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ObsidianBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/ObsidianBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ObsidianBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/ObsidianBlock.java
index d70b8b7..9768b59 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ObsidianBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/ObsidianBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/SandBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/SandBlock.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/SandBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/SandBlock.java
index 8d20c8c..6f3b8e2 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/SandBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/SandBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/StoneBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/StoneBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/StoneBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/StoneBlock.java
index e435014..86853a3 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/StoneBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/StoneBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WaterBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/WaterBlock.java
similarity index 90%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WaterBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/WaterBlock.java
index e90312c..4d55b88 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WaterBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/blocks/WaterBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrassBushBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/GrassBushBlock.java
similarity index 92%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrassBushBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/GrassBushBlock.java
index 4f55337..ea7e613 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrassBushBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/GrassBushBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockDropPercentage;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakSaplingBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/OakSaplingBlock.java
similarity index 90%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakSaplingBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/OakSaplingBlock.java
index fb69791..92f7e60 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OakSaplingBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/OakSaplingBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AlliumBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/AlliumBlock.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AlliumBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/AlliumBlock.java
index cd6bec3..8695750 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AlliumBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/AlliumBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AzureBluetBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/AzureBluetBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AzureBluetBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/AzureBluetBlock.java
index 689e6cd..e1e518e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AzureBluetBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/AzureBluetBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlueOrchidBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/BlueOrchidBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlueOrchidBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/BlueOrchidBlock.java
index 3103fed..0559d1d 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlueOrchidBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/BlueOrchidBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CornflowerBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/CornflowerBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CornflowerBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/CornflowerBlock.java
index fdfb1e1..9db2389 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CornflowerBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/CornflowerBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DandelionBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/DandelionBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DandelionBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/DandelionBlock.java
index 62ef3bd..d4899af 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DandelionBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/DandelionBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LilyOfTheValleyBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/LilyOfTheValleyBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LilyOfTheValleyBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/LilyOfTheValleyBlock.java
index 7bc4e64..d95fb43 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LilyOfTheValleyBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/LilyOfTheValleyBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OrangeTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/OrangeTulipBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OrangeTulipBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/OrangeTulipBlock.java
index f72aaf0..64cf45b 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OrangeTulipBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/OrangeTulipBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OxeyeDaisyBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/OxeyeDaisyBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OxeyeDaisyBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/OxeyeDaisyBlock.java
index da6f46a..90169e3 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OxeyeDaisyBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/OxeyeDaisyBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/PinkTulipBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkTulipBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/PinkTulipBlock.java
index 5348cc8..fb9c38a 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkTulipBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/PinkTulipBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PoppyBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/PoppyBlock.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PoppyBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/PoppyBlock.java
index 130fc39..8300689 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PoppyBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/PoppyBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/RedTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/RedTulipBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/RedTulipBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/RedTulipBlock.java
index ac8cedc..2346853 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/RedTulipBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/RedTulipBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/WhiteTulipBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteTulipBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/WhiteTulipBlock.java
index 7abbeeb..4123248 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteTulipBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/flowers/WhiteTulipBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CoalBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/coal/CoalBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CoalBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/coal/CoalBlock.java
index 042bfa2..ae9c250 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CoalBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/coal/CoalBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.coal;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CoalOreBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/coal/CoalOreBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CoalOreBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/coal/CoalOreBlock.java
index 514f560..b9774d2 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CoalOreBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/coal/CoalOreBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.coal;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/diamond/DiamondBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/diamond/DiamondBlock.java
index d3ad041..027241e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/diamond/DiamondBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondOreBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/diamond/DiamondOreBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondOreBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/diamond/DiamondOreBlock.java
index cdd54f8..15cfb14 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondOreBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/diamond/DiamondOreBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GoldBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/gold/GoldBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GoldBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/gold/GoldBlock.java
index 6c134e4..48ea578 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GoldBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/gold/GoldBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.gold;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GoldOreBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/gold/GoldOreBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GoldOreBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/gold/GoldOreBlock.java
index fda030c..d6b1afc 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GoldOreBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/gold/GoldOreBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.gold;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/IronBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/iron/IronBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/IronBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/iron/IronBlock.java
index b3df6e5..bbc7f3e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/IronBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/iron/IronBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/IronOreBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/iron/IronOreBlock.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/IronOreBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/iron/IronOreBlock.java
index ea6d63e..d676afb 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/IronOreBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ores/iron/IronOreBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.ores.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlackWoolBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/BlackWoolBlock.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlackWoolBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/BlackWoolBlock.java
index 65c8bef..7df1fda 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlackWoolBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/BlackWoolBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BrownWoolBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/BrownWoolBlock.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BrownWoolBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/BrownWoolBlock.java
index 8fb7c1e..df7d2fd 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BrownWoolBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/BrownWoolBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrayWoolBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/GrayWoolBlock.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrayWoolBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/GrayWoolBlock.java
index d97991f..f7d1f81 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/GrayWoolBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/GrayWoolBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LightGrayWoolBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/LightGrayWoolBlock.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LightGrayWoolBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/LightGrayWoolBlock.java
index 2f51901..a9a3be0 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LightGrayWoolBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/LightGrayWoolBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkWoolBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/PinkWoolBlock.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkWoolBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/PinkWoolBlock.java
index a09c888..4b165a0 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkWoolBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/PinkWoolBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteWoolBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/WhiteWoolBlock.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteWoolBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/WhiteWoolBlock.java
index ecef3dd..3092385 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteWoolBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/wools/WhiteWoolBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BedBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/BedBlock.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BedBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/BedBlock.java
index 0e54fe0..8629a82 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BedBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/BedBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ChestBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/ChestBlock.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ChestBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/ChestBlock.java
index c101971..a440bc0 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/ChestBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/ChestBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CraftingTableBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/CraftingTableBlock.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CraftingTableBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/CraftingTableBlock.java
index 60b7c7e..26673dd 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CraftingTableBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/CraftingTableBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/FurnaceBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/FurnaceBlock.java
similarity index 90%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/blocks/FurnaceBlock.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/FurnaceBlock.java
index b0d4491..aa30806 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/FurnaceBlock.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/work/FurnaceBlock.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.blocks;
+package cz.jzitnik.game.entities.items.registry.blocks.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.BlockRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CobblestoneItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/CobblestoneItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CobblestoneItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/CobblestoneItem.java
index 5f8a4d2..0dfd2ef 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CobblestoneItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/CobblestoneItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DirtItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/DirtItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DirtItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/DirtItem.java
index e89f4c1..d8b2868 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DirtItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/DirtItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GrassItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/GrassItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GrassItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/GrassItem.java
index 78c8d18..4d88825 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GrassItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/GrassItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakDoorItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakDoorItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/OakDoorItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakDoorItem.java
index 247eba4..0d576cb 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakDoorItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakDoorItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakLeavesItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakLeavesItem.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/OakLeavesItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakLeavesItem.java
index 95f3a77..dfab63c 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakLeavesItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakLeavesItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakLogItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakLogItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/OakLogItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakLogItem.java
index ad6658a..2ff83d4 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakLogItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakLogItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakPlanksItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakPlanksItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/OakPlanksItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakPlanksItem.java
index 53651da..0ac99ad 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakPlanksItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/OakPlanksItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/ObsidianItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/ObsidianItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/ObsidianItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/ObsidianItem.java
index c34d18b..d4412ea 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/ObsidianItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/ObsidianItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/SandItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/SandItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/SandItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/SandItem.java
index aad107b..8f6839b 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/SandItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/SandItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneItemItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/StoneItemItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneItemItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/StoneItemItem.java
index be06b3c..0195d3f 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneItemItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/blocks/StoneItemItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.blocks;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/BlackDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/BlackDyeItem.java
new file mode 100644
index 0000000..3bf62eb
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/BlackDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("black_dye")
+public class BlackDyeItem extends Item {
+    public BlackDyeItem() {
+        super("black_dye", "Black dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.BLACK);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/BlueDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/BlueDyeItem.java
new file mode 100644
index 0000000..9d0c4f9
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/BlueDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("blue_dye")
+public class BlueDyeItem extends Item {
+    public BlueDyeItem() {
+        super("blue_dye", "Blue dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.BLUE);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/LightBlueDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/LightBlueDyeItem.java
new file mode 100644
index 0000000..7ccdb00
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/LightBlueDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("light_blue_dye")
+public class LightBlueDyeItem extends Item {
+    public LightBlueDyeItem() {
+        super("light_blue_dye", "Light blue dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.LIGHT_BLUE);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/LightGrayDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/LightGrayDyeItem.java
new file mode 100644
index 0000000..56401e2
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/LightGrayDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("light_gray_dye")
+public class LightGrayDyeItem extends Item {
+    public LightGrayDyeItem() {
+        super("light_gray_dye", "Light gray dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.LIGHT_GRAY);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/MagentaDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/MagentaDyeItem.java
new file mode 100644
index 0000000..2ee64aa
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/MagentaDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("magenta_dye")
+public class MagentaDyeItem extends Item {
+    public MagentaDyeItem() {
+        super("magenta_dye", "Magenta dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.MAGENTA);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/OrangeDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/OrangeDyeItem.java
new file mode 100644
index 0000000..c019782
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/OrangeDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("orange_dye")
+public class OrangeDyeItem extends Item {
+    public OrangeDyeItem() {
+        super("Orange_dye", "Orange dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.ORANGE);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/PinkDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/PinkDyeItem.java
new file mode 100644
index 0000000..0659059
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/PinkDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("pink_dye")
+public class PinkDyeItem extends Item {
+    public PinkDyeItem() {
+        super("pink_dye", "Pink dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.PINK);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/RedDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/RedDyeItem.java
new file mode 100644
index 0000000..e9f0175
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/RedDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("red_dye")
+public class RedDyeItem extends Item {
+    public RedDyeItem() {
+        super("red_dye", "Red dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.RED);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/WhiteDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/WhiteDyeItem.java
new file mode 100644
index 0000000..0cae2a2
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/WhiteDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("white_dye")
+public class WhiteDyeItem extends Item {
+    public WhiteDyeItem() {
+        super("white_dye", "White dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.WHITE);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/YellowDyeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/YellowDyeItem.java
new file mode 100644
index 0000000..e222b2b
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/dyes/YellowDyeItem.java
@@ -0,0 +1,18 @@
+package cz.jzitnik.game.entities.items.registry.items.dyes;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.Fuel;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.sprites.Dye;
+import cz.jzitnik.game.sprites.WoolItem;
+
+@Fuel(0.5)
+@ItemRegistry("yellow_dye")
+public class YellowDyeItem extends Item {
+    public YellowDyeItem() {
+        super("yellow_dye", "Yellow dye", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_DYE);
+        setSpriteState(Dye.DyeState.YELLOW);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AppleItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/AppleItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/AppleItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/food/AppleItem.java
index bdc5eef..6d34b52 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AppleItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/AppleItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.food;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BeefItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/BeefItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/BeefItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/food/BeefItem.java
index 697da22..a581db3 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BeefItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/BeefItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.food;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CookedMutton.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/CookedMutton.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CookedMutton.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/food/CookedMutton.java
index 5cef1be..948c862 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CookedMutton.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/CookedMutton.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.food;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CookedPorkchopItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/CookedPorkchopItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CookedPorkchopItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/food/CookedPorkchopItem.java
index b1e6648..84ec54e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CookedPorkchopItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/CookedPorkchopItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.food;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/MuttonItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/MuttonItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/MuttonItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/food/MuttonItem.java
index 3302ec6..d41562c 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/MuttonItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/MuttonItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.food;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PorkchopItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/PorkchopItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/PorkchopItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/food/PorkchopItem.java
index f04f316..4929bcf 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PorkchopItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/PorkchopItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.food;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/SteakItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/SteakItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/SteakItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/food/SteakItem.java
index d5a233e..aa03cba 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/SteakItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/food/SteakItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.food;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GrassBushItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/GrassBushItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GrassBushItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/GrassBushItem.java
index c6ce83d..74137ca 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GrassBushItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/GrassBushItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakSaplingItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/OakSaplingItem.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/OakSaplingItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/OakSaplingItem.java
index 84f5f6a..c09106b 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OakSaplingItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/OakSaplingItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WheatSeedsItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/WheatSeedsItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WheatSeedsItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/WheatSeedsItem.java
index c349160..3c18008 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WheatSeedsItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/WheatSeedsItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AlliumItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/AlliumItem.java
similarity index 83%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/AlliumItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/AlliumItem.java
index a3e6b38..44caec9 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AlliumItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/AlliumItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AzureBluetItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/AzureBluetItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/AzureBluetItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/AzureBluetItem.java
index d99f1d6..a98ac89 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AzureBluetItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/AzureBluetItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BlueOrchidItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/BlueOrchidItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/BlueOrchidItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/BlueOrchidItem.java
index ffe5a67..bb9956d 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BlueOrchidItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/BlueOrchidItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CornflowerItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/CornflowerItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CornflowerItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/CornflowerItem.java
index a2e84d6..44cba75 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CornflowerItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/CornflowerItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DandelionItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/DandelionItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DandelionItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/DandelionItem.java
index bcee347..258e820 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DandelionItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/DandelionItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LilyOfTheValleyItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/LilyOfTheValleyItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/LilyOfTheValleyItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/LilyOfTheValleyItem.java
index 5c2875b..8e557c7 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LilyOfTheValleyItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/LilyOfTheValleyItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OrangeTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/OrangeTulipItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/OrangeTulipItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/OrangeTulipItem.java
index 05fc730..a29bc5e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OrangeTulipItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/OrangeTulipItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OxeyeDaisyItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/OxeyeDaisyItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/OxeyeDaisyItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/OxeyeDaisyItem.java
index a84e61a..2e6c190 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OxeyeDaisyItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/OxeyeDaisyItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/PinkTulipItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkTulipItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/PinkTulipItem.java
index 09a749a..2ff89d3 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkTulipItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/PinkTulipItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PoppyItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/PoppyItem.java
similarity index 83%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/PoppyItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/PoppyItem.java
index 003ac9b..ded321a 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PoppyItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/PoppyItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/RedTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/RedTulipItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/RedTulipItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/RedTulipItem.java
index c099a9f..6336e55 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/RedTulipItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/RedTulipItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/WhiteTulipItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteTulipItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/WhiteTulipItem.java
index 2871bcb..0921eb8 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteTulipItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/grassy/flowers/WhiteTulipItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.grassy.flowers;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LeatherItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/items/LeatherItem.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/LeatherItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/items/LeatherItem.java
index fe27a67..ab84621 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LeatherItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/items/LeatherItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.items;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StickItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/items/StickItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/StickItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/items/StickItem.java
index 57b6d69..4b81820 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StickItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/items/StickItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.items;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalBlockItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalBlockItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalBlockItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalBlockItem.java
index ea729b1..ce863bb 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalBlockItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalBlockItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.coal;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalItem.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalItem.java
index 4e442e0..d6e79f2 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.coal;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalOreItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalOreItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalOreItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalOreItem.java
index 0b34e9b..1aa437c 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CoalOreItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/coal/CoalOreItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.coal;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondBlockItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondBlockItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondBlockItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondBlockItem.java
index a01f74d..c81297f 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondBlockItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondBlockItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondItem.java
similarity index 84%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondItem.java
index 672cf22..b1e559d 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondOreItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondOreItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondOreItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondOreItem.java
index 4961a9f..c181015 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondOreItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/diamond/DiamondOreItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldBlockItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldBlockItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldBlockItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldBlockItem.java
index 59794c0..780b0dc 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldBlockItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldBlockItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.gold;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldIngotItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldIngotItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldIngotItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldIngotItem.java
index 0ca7faa..25b4b57 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldIngotItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldIngotItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.gold;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldOreItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldOreItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldOreItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldOreItem.java
index d668a05..86a829e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldOreItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/gold/GoldOreItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.gold;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronBlockItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronBlockItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronBlockItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronBlockItem.java
index d52ccb2..f985d00 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronBlockItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronBlockItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronIngotItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronIngotItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronIngotItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronIngotItem.java
index 5014f91..b45ccb0 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronIngotItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronIngotItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronOreItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronOreItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronOreItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronOreItem.java
index 88dca67..bbd5eaa 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronOreItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/ores/iron/IronOreItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.ores.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BucketItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/BucketItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/BucketItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/BucketItem.java
index 378350c..24cfb8a 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BucketItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/BucketItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LavaBucketItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/LavaBucketItem.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/LavaBucketItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/LavaBucketItem.java
index 97c5cfa..5086932 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LavaBucketItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/LavaBucketItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/MilkBucketItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/MilkBucketItem.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/MilkBucketItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/MilkBucketItem.java
index 82aef38..484d700 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/MilkBucketItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/MilkBucketItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/ShearsItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/ShearsItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/ShearsItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/ShearsItem.java
index 0c3e8e8..4e65b47 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/ShearsItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/ShearsItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WaterBucketItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/WaterBucketItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WaterBucketItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/WaterBucketItem.java
index e074db4..dce70f7 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WaterBucketItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/WaterBucketItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondAxe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondAxe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondAxe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondAxe.java
index ceb920f..95524c0 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondAxe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondAxe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondHoe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondHoe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondHoe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondHoe.java
index af664ce..31380b6 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondHoe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondHoe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondPickaxe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondPickaxe.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondPickaxe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondPickaxe.java
index e42b3c9..70f4428 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondPickaxe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondPickaxe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondShovel.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondShovel.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondShovel.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondShovel.java
index 6cf1f68..a9954a2 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondShovel.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondShovel.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondSword.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondSword.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondSword.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondSword.java
index 9f12973..c4daf3b 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondSword.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/diamond/DiamondSword.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.diamond;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenAxe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenAxe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenAxe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenAxe.java
index 4c0bc37..7c1355c 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenAxe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenAxe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.golden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenHoe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenHoe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenHoe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenHoe.java
index 820e86b..4ddcbe7 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenHoe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenHoe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.golden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenPickaxe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenPickaxe.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenPickaxe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenPickaxe.java
index c8b696b..48c8fad 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenPickaxe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenPickaxe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.golden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenShovel.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenShovel.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenShovel.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenShovel.java
index ab07539..6fae13a 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenShovel.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenShovel.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.golden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenSword.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenSword.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenSword.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenSword.java
index c728444..57e2ca6 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenSword.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/golden/GoldenSword.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.golden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronAxe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronAxe.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronAxe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronAxe.java
index b603364..669a266 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronAxe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronAxe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronHoe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronHoe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronHoe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronHoe.java
index 345d6bb..b7a18c2 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronHoe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronHoe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronPickaxe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronPickaxe.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronPickaxe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronPickaxe.java
index 6fb1ff4..617f348 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronPickaxe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronPickaxe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronShovel.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronShovel.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronShovel.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronShovel.java
index 606dd05..6045c1d 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronShovel.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronShovel.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronSword.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronSword.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/IronSword.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronSword.java
index 19c6b12..ad1ef55 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronSword.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/iron/IronSword.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.iron;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneAxeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneAxeItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneAxeItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneAxeItem.java
index ce9d240..db2131b 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneAxeItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneAxeItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.stone;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneHoe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneHoe.java
similarity index 86%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneHoe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneHoe.java
index 675d2cd..b531a6a 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneHoe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneHoe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.stone;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StonePickaxeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StonePickaxeItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/StonePickaxeItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StonePickaxeItem.java
index 01e49b8..55843ec 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StonePickaxeItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StonePickaxeItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.stone;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneShovelItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneShovelItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneShovelItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneShovelItem.java
index 2a786af..996ecc9 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneShovelItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneShovelItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.stone;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneSword.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneSword.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneSword.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneSword.java
index b45d548..86a3a36 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneSword.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/stone/StoneSword.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.stone;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenAxeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenAxeItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenAxeItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenAxeItem.java
index b0c8762..2f8a66e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenAxeItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenAxeItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.wooden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenHoe.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenHoe.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenHoe.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenHoe.java
index 04e5471..780068e 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenHoe.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenHoe.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.wooden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenPickaxeItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenPickaxeItem.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenPickaxeItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenPickaxeItem.java
index c41c4f8..d7dd829 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenPickaxeItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenPickaxeItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.wooden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenShovelItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenShovelItem.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenShovelItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenShovelItem.java
index 2f25d52..d761bc5 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenShovelItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenShovelItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.wooden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.Fuel;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenSword.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenSword.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenSword.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenSword.java
index 5050a44..644040f 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenSword.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/tools/wooden/WoodenSword.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.tools.wooden;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BlackWoolItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/BlackWoolItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/BlackWoolItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/BlackWoolItem.java
index 8f11e81..329f027 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BlackWoolItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/BlackWoolItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BrownWoolItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/BrownWoolItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/BrownWoolItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/BrownWoolItem.java
index 663237e..76248ed 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BrownWoolItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/BrownWoolItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GrayWoolItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/GrayWoolItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/GrayWoolItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/GrayWoolItem.java
index bf0cdaa..9d97c2d 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/GrayWoolItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/GrayWoolItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LightGrayWoolItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/LightGrayWoolItem.java
similarity index 89%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/LightGrayWoolItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/LightGrayWoolItem.java
index c5a12df..c2549d7 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LightGrayWoolItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/LightGrayWoolItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkWoolItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/PinkWoolItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkWoolItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/PinkWoolItem.java
index 273e67f..4219c0b 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkWoolItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/PinkWoolItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteWoolItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/WhiteWoolItem.java
similarity index 88%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteWoolItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/WhiteWoolItem.java
index ca0c150..ccfd443 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteWoolItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/wools/WhiteWoolItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.wools;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BedItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/BedItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/BedItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/work/BedItem.java
index 0d97d5c..8291fa1 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BedItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/BedItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/ChestItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/ChestItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/ChestItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/work/ChestItem.java
index 52aabb2..8f8e2f9 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/ChestItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/ChestItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CraftingTableItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/CraftingTableItem.java
similarity index 87%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/CraftingTableItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/work/CraftingTableItem.java
index 21abef5..d2e4a0b 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CraftingTableItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/CraftingTableItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/FurnaceItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/FurnaceItem.java
similarity index 85%
rename from src/main/java/cz/jzitnik/game/entities/items/registry/items/FurnaceItem.java
rename to src/main/java/cz/jzitnik/game/entities/items/registry/items/work/FurnaceItem.java
index 6189873..30e3b32 100644
--- a/src/main/java/cz/jzitnik/game/entities/items/registry/items/FurnaceItem.java
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/work/FurnaceItem.java
@@ -1,4 +1,4 @@
-package cz.jzitnik.game.entities.items.registry.items;
+package cz.jzitnik.game.entities.items.registry.items.work;
 
 import cz.jzitnik.game.SpriteLoader;
 import cz.jzitnik.game.annotations.ItemRegistry;
diff --git a/src/main/java/cz/jzitnik/game/sprites/Dye.java b/src/main/java/cz/jzitnik/game/sprites/Dye.java
new file mode 100644
index 0000000..9de5634
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/sprites/Dye.java
@@ -0,0 +1,44 @@
+package cz.jzitnik.game.sprites;
+
+import cz.jzitnik.tui.ResourceLoader;
+import cz.jzitnik.tui.Sprite;
+
+import java.util.Optional;
+
+public class Dye extends Sprite {
+    public enum DyeState {
+        WHITE, LIGHT_GRAY, GRAY, BLACK, BROWN, RED, ORANGE, YELLOW, LIME, GREEN, CYAN, LIGHT_BLUE, BLUE, PURPLE, MAGENTA, PINK,
+    }
+
+    public String getSprite() {
+        return getSprite(DyeState.WHITE);
+    }
+
+    public String getSprite(Enum e) {
+        return ResourceLoader.loadResource(switch (e) {
+            case DyeState.WHITE -> "items/white_dye.ans";
+            case DyeState.LIGHT_GRAY -> "items/light_gray_dye.ans";
+            case DyeState.GRAY -> "items/gray_dye.ans";
+            case DyeState.BLACK -> "items/black_dye.ans";
+            case DyeState.BROWN -> "items/brown_dye.ans";
+            case DyeState.RED -> "items/red_dye.ans";
+            case DyeState.ORANGE -> "items/orange_dye.ans";
+            case DyeState.YELLOW -> "items/yellow_dye.ans";
+            case DyeState.LIME -> "items/lime_dye.ans";
+            case DyeState.GREEN -> "items/green_dye.ans";
+            case DyeState.CYAN -> "items/cyan_dye.ans";
+            case DyeState.LIGHT_BLUE -> "items/light_blue_dye.ans";
+            case DyeState.BLUE -> "items/blue_dye.ans";
+            case DyeState.PURPLE -> "items/purple_dye.ans";
+            case DyeState.MAGENTA -> "items/magenta_dye.ans";
+            case DyeState.PINK -> "items/pink_dye.ans";
+
+            default -> throw new IllegalStateException("Unexpected value: " + e);
+        });
+    }
+
+    @Override
+    public Optional<Class<DyeState>> getStates() {
+        return Optional.of(DyeState.class);
+    }
+}
diff --git a/src/main/resources/textures/items/black_dye.ans b/src/main/resources/textures/items/black_dye.ans
new file mode 100644
index 0000000..2bfd8cd
--- /dev/null
+++ b/src/main/resources/textures/items/black_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/blue_dye.ans b/src/main/resources/textures/items/blue_dye.ans
new file mode 100644
index 0000000..30aa5d0
--- /dev/null
+++ b/src/main/resources/textures/items/blue_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/brown_dye.ans b/src/main/resources/textures/items/brown_dye.ans
new file mode 100644
index 0000000..eecfae8
--- /dev/null
+++ b/src/main/resources/textures/items/brown_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/cyan_dye.ans b/src/main/resources/textures/items/cyan_dye.ans
new file mode 100644
index 0000000..fde6528
--- /dev/null
+++ b/src/main/resources/textures/items/cyan_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/gray_dye.ans b/src/main/resources/textures/items/gray_dye.ans
new file mode 100644
index 0000000..51556c2
--- /dev/null
+++ b/src/main/resources/textures/items/gray_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/green_dye.ans b/src/main/resources/textures/items/green_dye.ans
new file mode 100644
index 0000000..d6281b3
--- /dev/null
+++ b/src/main/resources/textures/items/green_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/light_blue_dye.ans b/src/main/resources/textures/items/light_blue_dye.ans
new file mode 100644
index 0000000..93b4cad
--- /dev/null
+++ b/src/main/resources/textures/items/light_blue_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/light_gray_dye.ans b/src/main/resources/textures/items/light_gray_dye.ans
new file mode 100644
index 0000000..a2b49e8
--- /dev/null
+++ b/src/main/resources/textures/items/light_gray_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/lime_dye.ans b/src/main/resources/textures/items/lime_dye.ans
new file mode 100644
index 0000000..c288ba9
--- /dev/null
+++ b/src/main/resources/textures/items/lime_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/magenta_dye.ans b/src/main/resources/textures/items/magenta_dye.ans
new file mode 100644
index 0000000..4a53d69
--- /dev/null
+++ b/src/main/resources/textures/items/magenta_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/orange_dye.ans b/src/main/resources/textures/items/orange_dye.ans
new file mode 100644
index 0000000..bd6cb5f
--- /dev/null
+++ b/src/main/resources/textures/items/orange_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/pink_dye.ans b/src/main/resources/textures/items/pink_dye.ans
new file mode 100644
index 0000000..d003d52
--- /dev/null
+++ b/src/main/resources/textures/items/pink_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/purple_dye.ans b/src/main/resources/textures/items/purple_dye.ans
new file mode 100644
index 0000000..d55586a
--- /dev/null
+++ b/src/main/resources/textures/items/purple_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/red_dye.ans b/src/main/resources/textures/items/red_dye.ans
new file mode 100644
index 0000000..727f8aa
--- /dev/null
+++ b/src/main/resources/textures/items/red_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/white_dye.ans b/src/main/resources/textures/items/white_dye.ans
new file mode 100644
index 0000000..3977d1d
--- /dev/null
+++ b/src/main/resources/textures/items/white_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
diff --git a/src/main/resources/textures/items/yellow_dye.ans b/src/main/resources/textures/items/yellow_dye.ans
new file mode 100644
index 0000000..767848a
--- /dev/null
+++ b/src/main/resources/textures/items/yellow_dye.ans
@@ -0,0 +1,25 @@
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+                                                  
+