From 51f2eb95cfd9d461a58497a7f06b37c5538a810d Mon Sep 17 00:00:00 2001 From: jull Date: Sun, 2 Mar 2025 13:53:07 +0100 Subject: [PATCH] chore: weapons --- .../crafting/recipes/CoalBlockRecipe.java | 14 +++++++++++ .../game/crafting/recipes/CoalRecipe.java | 14 +++++++++++ .../crafting/recipes/GoldBlockRecipe.java | 14 +++++++++++ .../crafting/recipes/GoldIngotRecipe.java | 14 +++++++++++ .../crafting/recipes/IronBlockRecipe.java | 14 +++++++++++ .../crafting/recipes/IronIngotRecipe.java | 14 +++++++++++ .../jzitnik/game/entities/items/ItemType.java | 4 ++- .../game/entities/items/ToolVariant.java | 2 ++ .../items/registry/items/GoldenAxe.java | 14 +++++++++++ .../items/registry/items/GoldenHoe.java | 14 +++++++++++ .../items/registry/items/GoldenPickaxe.java | 14 +++++++++++ .../items/registry/items/GoldenShovel.java | 14 +++++++++++ .../items/registry/items/IronAxe.java | 14 +++++++++++ .../items/registry/items/IronHoe.java | 14 +++++++++++ .../items/registry/items/IronPickaxe.java | 14 +++++++++++ .../items/registry/items/IronShovel.java | 14 +++++++++++ .../items/registry/items/StoneHoe.java | 14 +++++++++++ .../items/registry/items/WoodenHoe.java | 14 +++++++++++ .../cz/jzitnik/game/smelting/Smelting.java | 12 +++++++++ .../resources/textures/items/iron_sword.ans | 25 +++++++++++++++++++ .../resources/textures/items/stone_sword.ans | 25 +++++++++++++++++++ .../resources/textures/items/wooden_sword.ans | 25 +++++++++++++++++++ 22 files changed, 316 insertions(+), 1 deletion(-) create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/CoalBlockRecipe.java create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/CoalRecipe.java create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/GoldBlockRecipe.java create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/GoldIngotRecipe.java create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/IronBlockRecipe.java create mode 100644 src/main/java/cz/jzitnik/game/crafting/recipes/IronIngotRecipe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenAxe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenHoe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenPickaxe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenShovel.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/IronAxe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/IronHoe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/IronPickaxe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/IronShovel.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneHoe.java create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenHoe.java create mode 100644 src/main/resources/textures/items/iron_sword.ans create mode 100644 src/main/resources/textures/items/stone_sword.ans create mode 100644 src/main/resources/textures/items/wooden_sword.ans diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/CoalBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/CoalBlockRecipe.java new file mode 100644 index 0000000..56916e6 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/CoalBlockRecipe.java @@ -0,0 +1,14 @@ +package cz.jzitnik.game.crafting.recipes; + +import cz.jzitnik.game.annotations.CraftingRecipeRegistry; + +@CraftingRecipeRegistry( + recipe = { + "coal", "coal", "coal", + "coal", "coal", "coal", + "coal", "coal", "coal" + }, + result = "coal_block", + amount = 1 +) +public class CoalBlockRecipe {} \ No newline at end of file diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/CoalRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/CoalRecipe.java new file mode 100644 index 0000000..5721ea2 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/CoalRecipe.java @@ -0,0 +1,14 @@ +package cz.jzitnik.game.crafting.recipes; + +import cz.jzitnik.game.annotations.CraftingRecipeRegistry; + +@CraftingRecipeRegistry( + recipe = { + "coal_block", "_", "_", + "_", "_", "_", + "_", "_", "_" + }, + result = "coal", + amount = 9 +) +public class CoalRecipe {} \ No newline at end of file diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldBlockRecipe.java new file mode 100644 index 0000000..90c4ac3 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldBlockRecipe.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", + "gold_ingot", "gold_ingot", "gold_ingot", + "gold_ingot", "gold_ingot", "gold_ingot" + }, + result = "gold_block", + amount = 1 +) +public class GoldBlockRecipe {} \ No newline at end of file diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/GoldIngotRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldIngotRecipe.java new file mode 100644 index 0000000..002d6be --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/GoldIngotRecipe.java @@ -0,0 +1,14 @@ +package cz.jzitnik.game.crafting.recipes; + +import cz.jzitnik.game.annotations.CraftingRecipeRegistry; + +@CraftingRecipeRegistry( + recipe = { + "gold_block", "_", "_", + "_", "_", "_", + "_", "_", "_" + }, + result = "gold_ingot", + amount = 9 +) +public class GoldIngotRecipe {} diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/IronBlockRecipe.java new file mode 100644 index 0000000..601b5cf --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/IronBlockRecipe.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", + "iron_ingot", "iron_ingot", "iron_ingot", + "iron_ingot", "iron_ingot", "iron_ingot" + }, + result = "iron_block", + amount = 1 +) +public class IronBlockRecipe {} \ No newline at end of file diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/IronIngotRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/IronIngotRecipe.java new file mode 100644 index 0000000..c4f8745 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/IronIngotRecipe.java @@ -0,0 +1,14 @@ +package cz.jzitnik.game.crafting.recipes; + +import cz.jzitnik.game.annotations.CraftingRecipeRegistry; + +@CraftingRecipeRegistry( + recipe = { + "iron_block", "_", "_", + "_", "_", "_", + "_", "_", "_" + }, + result = "iron_ingot", + amount = 9 +) +public class IronIngotRecipe {} \ No newline at end of file diff --git a/src/main/java/cz/jzitnik/game/entities/items/ItemType.java b/src/main/java/cz/jzitnik/game/entities/items/ItemType.java index f20f6a6..9af2a77 100644 --- a/src/main/java/cz/jzitnik/game/entities/items/ItemType.java +++ b/src/main/java/cz/jzitnik/game/entities/items/ItemType.java @@ -7,5 +7,7 @@ public enum ItemType { SHEARS, BLOCK, FOOD, - USELESS_ITEM + USELESS_ITEM, + HOE, + SWORD, } diff --git a/src/main/java/cz/jzitnik/game/entities/items/ToolVariant.java b/src/main/java/cz/jzitnik/game/entities/items/ToolVariant.java index 6a9edf7..69aa995 100644 --- a/src/main/java/cz/jzitnik/game/entities/items/ToolVariant.java +++ b/src/main/java/cz/jzitnik/game/entities/items/ToolVariant.java @@ -4,4 +4,6 @@ public enum ToolVariant { WOODEN, STONE, IRON, + GOLDEN, + DIAMOND, } 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/GoldenAxe.java new file mode 100644 index 0000000..a6d1395 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenAxe.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_axe") +public class GoldenAxe extends Item { + public GoldenAxe() { + super("golden_axe", "Golden axe", ItemType.AXE, SpriteLoader.SPRITES.GOLDEN_AXE, ToolVariant.GOLDEN, 2.25, 32, false); + } +} \ No newline at end of file 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/GoldenHoe.java new file mode 100644 index 0000000..6867e13 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenHoe.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_hoe") +public class GoldenHoe extends Item { + public GoldenHoe() { + super("golden_hoe", "Golden hoe", ItemType.HOE, SpriteLoader.SPRITES.GOLDEN_HOE, ToolVariant.GOLDEN, 0, 32, false); + } +} \ No newline at end of file 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/GoldenPickaxe.java new file mode 100644 index 0000000..adaa376 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenPickaxe.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_pickaxe") +public class GoldenPickaxe extends Item { + public GoldenPickaxe() { + super("golden_pickaxe", "Golden pickaxe", ItemType.PICKAXE, SpriteLoader.SPRITES.GOLDEN_PICKAXE, ToolVariant.GOLDEN, 14.5, 32, false); + } +} \ No newline at end of file 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/GoldenShovel.java new file mode 100644 index 0000000..75e6cc9 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/GoldenShovel.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_shovel") +public class GoldenShovel extends Item { + public GoldenShovel() { + super("golden_shovel", "Golden shovel", ItemType.SHOVEL, SpriteLoader.SPRITES.GOLDEN_SHOVEL, ToolVariant.GOLDEN, 0.625, 32, false); + } +} \ No newline at end of file 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/IronAxe.java new file mode 100644 index 0000000..26383b9 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronAxe.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_axe") +public class IronAxe extends Item { + public IronAxe() { + super("iron_axe", "Iron axe", ItemType.AXE, SpriteLoader.SPRITES.IRON_AXE, ToolVariant.IRON, 1.5, 250, false); + } +} \ No newline at end of file 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/IronHoe.java new file mode 100644 index 0000000..6ce0f1e --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronHoe.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_hoe") +public class IronHoe extends Item { + public IronHoe() { + super("iron_hoe", "Iron hoe", ItemType.HOE, SpriteLoader.SPRITES.IRON_HOE, ToolVariant.IRON, 0, 250, false); + } +} \ No newline at end of file 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/IronPickaxe.java new file mode 100644 index 0000000..dd4efe9 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronPickaxe.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_pickaxe") +public class IronPickaxe extends Item { + public IronPickaxe() { + super("iron_pickaxe", "Iron pickaxe", ItemType.PICKAXE, SpriteLoader.SPRITES.IRON_PICKAXE, ToolVariant.IRON, 13.5, 250, false); + } +} \ No newline at end of file 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/IronShovel.java new file mode 100644 index 0000000..a33135e --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/IronShovel.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_shovel") +public class IronShovel extends Item { + public IronShovel() { + super("iron_shovel", "Iron shovel", ItemType.SHOVEL, SpriteLoader.SPRITES.IRON_SHOVEL, ToolVariant.IRON, 0.375, 250, false); + } +} \ No newline at end of file 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/StoneHoe.java new file mode 100644 index 0000000..675d2cd --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/StoneHoe.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_hoe") +public class StoneHoe extends Item { + public StoneHoe() { + super("stone_hoe", "Stone hoe", ItemType.HOE, SpriteLoader.SPRITES.STONE_HOE, ToolVariant.STONE, 0, 131, false); + } +} 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/WoodenHoe.java new file mode 100644 index 0000000..a5a8820 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/WoodenHoe.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_hoe") +public class WoodenHoe extends Item { + public WoodenHoe() { + super("wooden_hoe", "Wooden hoe", ItemType.HOE, SpriteLoader.SPRITES.WOODEN_HOE, ToolVariant.WOODEN, 0, 59, false); + } +} diff --git a/src/main/java/cz/jzitnik/game/smelting/Smelting.java b/src/main/java/cz/jzitnik/game/smelting/Smelting.java index b017b66..c064dcb 100644 --- a/src/main/java/cz/jzitnik/game/smelting/Smelting.java +++ b/src/main/java/cz/jzitnik/game/smelting/Smelting.java @@ -13,11 +13,23 @@ public class Smelting { smeltingList.put("cobblestone", () -> ItemBlockSupplier.getItem("stone")); smeltingList.put("porkchop", () -> ItemBlockSupplier.getItem("cooked_porkchop")); smeltingList.put("mutton", () -> ItemBlockSupplier.getItem("cooked_mutton")); + smeltingList.put("iron_ore", () -> ItemBlockSupplier.getItem("iron_ingot")); + smeltingList.put("gold_ore", () -> ItemBlockSupplier.getItem("gold_ingot")); + smeltingList.put("oak_log", () -> ItemBlockSupplier.getItem("coal")); + smeltingList.put("beef", () -> ItemBlockSupplier.getItem("steak")); } public static final HashMap fuelList = new HashMap<>(); static { fuelList.put("oak_log", 1.5); fuelList.put("oak_planks", 1.5); + fuelList.put("coal", 8.0); + fuelList.put("coal_block", 80.0); + fuelList.put("wooden_sword", 1.0); + fuelList.put("wooden_pickaxe", 1.0); + fuelList.put("wooden_axe", 1.0); + fuelList.put("wooden_shovel", 1.0); + fuelList.put("wooden_hoe", 1.0); + fuelList.put("stick", 0.5); } } diff --git a/src/main/resources/textures/items/iron_sword.ans b/src/main/resources/textures/items/iron_sword.ans new file mode 100644 index 0000000..9dfe999 --- /dev/null +++ b/src/main/resources/textures/items/iron_sword.ans @@ -0,0 +1,25 @@ +                                          +                                          +                                          +                                        +                                        +                                          +                                        +                                        +                                        +                                   +                                   +                                 +                                    +                                    +                                      +                                      +                                           +                                      +                                      +                                 +                                   +                                   +                                            +                                          +                                          diff --git a/src/main/resources/textures/items/stone_sword.ans b/src/main/resources/textures/items/stone_sword.ans new file mode 100644 index 0000000..41fc2a4 --- /dev/null +++ b/src/main/resources/textures/items/stone_sword.ans @@ -0,0 +1,25 @@ +                                          +                                          +                                           +                                        +                                        +                                          +                                        +                                        +                                        +                                   +                                   +                                 +                                    +                                    +                                      +                                      +                                           +                                      +                                      +                                 +                                   +                                   +                                            +                                          +                                          diff --git a/src/main/resources/textures/items/wooden_sword.ans b/src/main/resources/textures/items/wooden_sword.ans new file mode 100644 index 0000000..71578dc --- /dev/null +++ b/src/main/resources/textures/items/wooden_sword.ans @@ -0,0 +1,25 @@ +                                          +                                          +                                           +                                        +                                        +                                          +                                        +                                        +                                        +                                   +                                   +                                 +                                    +                                    +                                      +                                      +                                           +                                      +                                      +                                 +                                   +                                   +                                            +                                          +                                          -- 2.47.2