From 22f98e7ff55af76913cdcfb4c6913b60d19ce9dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20=C5=BDitn=C3=ADk?= <email@jzitnik.dev>
Date: Sun, 2 Mar 2025 14:33:35 +0000
Subject: [PATCH] feat: Added tool recipes

---
 .../game/crafting/recipes/GoldenAxe2Recipe.java    | 14 ++++++++++++++
 .../game/crafting/recipes/GoldenAxeRecipe.java     | 14 ++++++++++++++
 .../game/crafting/recipes/GoldenPickaxeRecipe.java | 14 ++++++++++++++
 .../game/crafting/recipes/GoldenShovelRecipe.java  | 14 ++++++++++++++
 .../game/crafting/recipes/GoldenSwordRecipe.java   | 14 ++++++++++++++
 .../game/crafting/recipes/IronAxe2Recipe.java      | 14 ++++++++++++++
 .../game/crafting/recipes/IronAxeRecipe.java       | 14 ++++++++++++++
 .../game/crafting/recipes/IronPickaxeRecipe.java   | 14 ++++++++++++++
 .../game/crafting/recipes/IronShovelRecipe.java    | 14 ++++++++++++++
 .../game/crafting/recipes/IronSwordRecipe.java     | 14 ++++++++++++++
 .../game/crafting/recipes/StoneHoeRecipe.java      | 14 ++++++++++++++
 .../game/crafting/recipes/StoneSwordRecipe.java    | 14 ++++++++++++++
 .../game/crafting/recipes/WoodenAxeRecipe.java     |  2 +-
 .../game/crafting/recipes/WoodenHoeRecipe.java     | 14 ++++++++++++++
 .../game/crafting/recipes/WoodenSwordRecipe.java   | 14 ++++++++++++++
 .../entities/items/registry/items/GoldenSword.java | 14 ++++++++++++++
 .../entities/items/registry/items/IronSword.java   | 14 ++++++++++++++
 .../entities/items/registry/items/StoneSword.java  | 14 ++++++++++++++
 .../entities/items/registry/items/WoodenSword.java | 14 ++++++++++++++
 19 files changed, 253 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxe2Recipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxeRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/GoldenPickaxeRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/GoldenShovelRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/GoldenSwordRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/IronAxe2Recipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/IronAxeRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/IronPickaxeRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/IronShovelRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/IronSwordRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoeRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/StoneSwordRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoeRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/WoodenSwordRecipe.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenSword.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/IronSword.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneSword.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenSword.java

diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxe2Recipe.java
new file mode 100644
index 0000000..52de133
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxe2Recipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "gold_ingot", "gold_ingot",
+                "_", "stick", "gold_ingot",
+                "_", "stick", "_"
+        },
+        result = "golden_axe",
+        amount = 1
+)
+public class GoldenAxe2Recipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxeRecipe.java
new file mode 100644
index 0000000..8bc6eaa
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenAxeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "gold_ingot", "gold_ingot", "_",
+                "gold_ingot", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "golden_axe",
+        amount = 1
+)
+public class GoldenAxeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenPickaxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenPickaxeRecipe.java
new file mode 100644
index 0000000..4453b52
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenPickaxeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "gold_ingot", "gold_ingot", "gold_ingot",
+                "_", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "golden_pickaxe",
+        amount = 1
+)
+public class GoldenPickaxeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenShovelRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenShovelRecipe.java
new file mode 100644
index 0000000..37663ed
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenShovelRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "gold_ingot", "_",
+                "_", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "golden_shovel",
+        amount = 1
+)
+public class GoldenShovelRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenSwordRecipe.java
new file mode 100644
index 0000000..6eab0b1
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldenSwordRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "gold_ingot", "_",
+                "_", "gold_ingot", "_",
+                "_", "stick", "_"
+        },
+        result = "golden_sword",
+        amount = 1
+)
+public class GoldenSwordRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxe2Recipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxe2Recipe.java
new file mode 100644
index 0000000..2a85e83
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxe2Recipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "iron_ingot", "iron_ingot",
+                "_", "stick", "iron_ingot",
+                "_", "stick", "_"
+        },
+        result = "iron_axe",
+        amount = 1
+)
+public class IronAxe2Recipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxeRecipe.java
new file mode 100644
index 0000000..849cf2e
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/IronAxeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "iron_ingot", "iron_ingot", "_",
+                "iron_ingot", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "iron_axe",
+        amount = 1
+)
+public class IronAxeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronPickaxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/IronPickaxeRecipe.java
new file mode 100644
index 0000000..d2e7ef6
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/IronPickaxeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "iron_ingot", "iron_ingot", "iron_ingot",
+                "_", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "iron_pickaxe",
+        amount = 1
+)
+public class IronPickaxeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronShovelRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/IronShovelRecipe.java
new file mode 100644
index 0000000..f19c193
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/IronShovelRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "iron_shovel", "_",
+                "_", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "iron_shovel",
+        amount = 1
+)
+public class IronShovelRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/IronSwordRecipe.java
new file mode 100644
index 0000000..3d65589
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/IronSwordRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "iron_ingot", "_",
+                "_", "iron_ingot", "_",
+                "_", "stick", "_"
+        },
+        result = "iron_sword",
+        amount = 1
+)
+public class IronSwordRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoeRecipe.java
new file mode 100644
index 0000000..4af70f6
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/StoneHoeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "stone", "stone", "_",
+                "_", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "stone_hoe",
+        amount = 1
+)
+public class StoneHoeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/StoneSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/StoneSwordRecipe.java
new file mode 100644
index 0000000..2828055
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/StoneSwordRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "cobblestone", "_",
+                "_", "cobblestone", "_",
+                "_", "stick", "_"
+        },
+        result = "stone_sword",
+        amount = 1
+)
+public class StoneSwordRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxeRecipe.java
index 925b611..3d6ba65 100644
--- a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxeRecipe.java
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenAxeRecipe.java
@@ -8,7 +8,7 @@ import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
                 "oak_planks", "stick", "_",
                 "_", "stick", "_"
         },
-        result = "oak_planks",
+        result = "wooden_axe",
         amount = 1
 )
 public class WoodenAxeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoeRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoeRecipe.java
new file mode 100644
index 0000000..31d2155
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenHoeRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "oak_planks", "oak_planks", "_",
+                "_", "stick", "_",
+                "_", "stick", "_"
+        },
+        result = "wooden_hoe",
+        amount = 1
+)
+public class WoodenHoeRecipe {}
diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenSwordRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenSwordRecipe.java
new file mode 100644
index 0000000..c8fc96a
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/crafting/recipes/WoodenSwordRecipe.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.crafting.recipes;
+
+import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
+
+@CraftingRecipeRegistry(
+        recipe = {
+                "_", "oak_planks", "_",
+                "_", "oak_planks", "_",
+                "_", "stick", "_"
+        },
+        result = "wooden_sword",
+        amount = 1
+)
+public class WoodenSwordRecipe {}
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/GoldenSword.java
new file mode 100644
index 0000000..3aaff65
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenSword.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.entities.items.registry.items;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.entities.items.ToolVariant;
+
+@ItemRegistry("golden_sword")
+public class GoldenSword extends Item {
+    public GoldenSword() {
+        super("golden_sword", "Golden sword", ItemType.SWORD, SpriteLoader.SPRITES.GOLDEN_SWORD, ToolVariant.GOLDEN, 32, false, 2);
+    }
+}
\ No newline at end of file
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/IronSword.java
new file mode 100644
index 0000000..adfb21d
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronSword.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.entities.items.registry.items;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.entities.items.ToolVariant;
+
+@ItemRegistry("iron_sword")
+public class IronSword extends Item {
+    public IronSword() {
+        super("iron_sword", "Iron sword", ItemType.SWORD, SpriteLoader.SPRITES.IRON_SWORD, ToolVariant.IRON, 250, false, 3);
+    }
+}
\ No newline at end of file
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/StoneSword.java
new file mode 100644
index 0000000..5ad7aa3
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneSword.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.entities.items.registry.items;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.entities.items.ToolVariant;
+
+@ItemRegistry("stone_sword")
+public class StoneSword extends Item {
+    public StoneSword() {
+        super("stone_sword", "Stone sword", ItemType.SWORD, SpriteLoader.SPRITES.STONE_SWORD, ToolVariant.STONE, 131, false, 3);
+    }
+}
\ No newline at end of file
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/WoodenSword.java
new file mode 100644
index 0000000..25b8c79
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenSword.java
@@ -0,0 +1,14 @@
+package cz.jzitnik.game.entities.items.registry.items;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.ItemRegistry;
+import cz.jzitnik.game.entities.items.Item;
+import cz.jzitnik.game.entities.items.ItemType;
+import cz.jzitnik.game.entities.items.ToolVariant;
+
+@ItemRegistry("wooden_sword")
+public class WoodenSword extends Item {
+    public WoodenSword() {
+        super("wooden_sword", "Wooden sword", ItemType.SWORD, SpriteLoader.SPRITES.WOODEN_SWORD, ToolVariant.WOODEN, 59, false, 2);
+    }
+}
\ No newline at end of file