diff --git a/src/main/java/cz/jzitnik/game/SpriteLoader.java b/src/main/java/cz/jzitnik/game/SpriteLoader.java index eb5fa67..5907b60 100644 --- a/src/main/java/cz/jzitnik/game/SpriteLoader.java +++ b/src/main/java/cz/jzitnik/game/SpriteLoader.java @@ -28,9 +28,13 @@ public class SpriteLoader { COAL_ORE, IRON_ORE, GOLD_ORE, + DIAMOND_ORE, + COAL_BLOCK, IRON_BLOCK, GOLD_BLOCK, + DIAMOND_BLOCK, + // Work FURNACE, CHEST, @@ -67,14 +71,17 @@ public class SpriteLoader { ITEM_COAL_ORE, ITEM_IRON_ORE, ITEM_GOLD_ORE, + ITEM_DIAMOND_ORE, ITEM_COAL_BLOCK, ITEM_IRON_BLOCK, ITEM_GOLD_BLOCK, + ITEM_DIAMOND_BLOCK, COAL, ITEM_IRON_INGOT, ITEM_GOLD_INGOT, + DIAMOND, // Work Items ITEM_CRAFTING_TABLE, @@ -141,12 +148,14 @@ public class SpriteLoader { // Ores SPRITES_MAP.put(SPRITES.COAL_ORE, new SimpleSprite("coal_ore.ans")); - SPRITES_MAP.put(SPRITES.IRON_ORE, new SimpleSprite("iron_ore.ans")); //NEWW - SPRITES_MAP.put(SPRITES.GOLD_ORE, new SimpleSprite("gold_ore.ans")); //NEWW + SPRITES_MAP.put(SPRITES.IRON_ORE, new SimpleSprite("iron_ore.ans")); + SPRITES_MAP.put(SPRITES.GOLD_ORE, new SimpleSprite("gold_ore.ans")); + SPRITES_MAP.put(SPRITES.DIAMOND_ORE, new SimpleSprite("diamond_ore.ans")); - SPRITES_MAP.put(SPRITES.COAL_BLOCK, new SimpleSprite("coal_block.ans")); //NEWW - SPRITES_MAP.put(SPRITES.IRON_BLOCK, new SimpleSprite("iron_block.ans")); //NEWW - SPRITES_MAP.put(SPRITES.GOLD_BLOCK, new SimpleSprite("gold_block.ans")); //NEWW + SPRITES_MAP.put(SPRITES.COAL_BLOCK, new SimpleSprite("coal_block.ans")); + SPRITES_MAP.put(SPRITES.IRON_BLOCK, new SimpleSprite("iron_block.ans")); + SPRITES_MAP.put(SPRITES.GOLD_BLOCK, new SimpleSprite("gold_block.ans")); + SPRITES_MAP.put(SPRITES.DIAMOND_BLOCK, new SimpleSprite("diamond_block.ans")); //NEWW // Work SPRITES_MAP.put(SPRITES.CRAFTING_TABLE, new SimpleSprite("crafting_table.ans")); diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondBlockRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondBlockRecipe.java new file mode 100644 index 0000000..50e3066 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondBlockRecipe.java @@ -0,0 +1,14 @@ +package cz.jzitnik.game.crafting.recipes; + +import cz.jzitnik.game.annotations.CraftingRecipeRegistry; + +@CraftingRecipeRegistry( + recipe = { + "diamond", "diamond", "diamond", + "diamond", "diamond", "diamond", + "diamond", "diamond", "diamond" + }, + result = "diamond_block", + amount = 1 +) +public class DiamondBlockRecipe {} \ No newline at end of file diff --git a/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondRecipe.java b/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondRecipe.java new file mode 100644 index 0000000..aab018e --- /dev/null +++ b/src/main/java/cz/jzitnik/game/crafting/recipes/DiamondRecipe.java @@ -0,0 +1,14 @@ +package cz.jzitnik.game.crafting.recipes; + +import cz.jzitnik.game.annotations.CraftingRecipeRegistry; + +@CraftingRecipeRegistry( + recipe = { + "diamond_block", "_", "_", + "_", "_", "_", + "_", "_", "_" + }, + result = "diamond", + amount = 9 +) +public class DiamondRecipe {} \ No newline at end of file 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/DiamondBlock.java new file mode 100644 index 0000000..5f83a5a --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondBlock.java @@ -0,0 +1,16 @@ +package cz.jzitnik.game.entities.items.registry.blocks; + +import cz.jzitnik.game.SpriteLoader; +import cz.jzitnik.game.annotations.BlockRegistry; +import cz.jzitnik.game.entities.Block; +import cz.jzitnik.game.entities.items.ItemType; +import cz.jzitnik.game.entities.items.ToolVariant; + +import java.util.Arrays; + +@BlockRegistry("diamond_block") +public class DiamondBlock extends Block { + public DiamondBlock() { + super("diamond_block", SpriteLoader.SPRITES.DIAMOND_BLOCK, 15, ItemType.PICKAXE, Arrays.stream(ToolVariant.values()).toList()); + } +} 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/DiamondOreBlock.java new file mode 100644 index 0000000..a1cf88f --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DiamondOreBlock.java @@ -0,0 +1,16 @@ +package cz.jzitnik.game.entities.items.registry.blocks; + +import cz.jzitnik.game.SpriteLoader; +import cz.jzitnik.game.annotations.BlockRegistry; +import cz.jzitnik.game.entities.Block; +import cz.jzitnik.game.entities.items.ItemType; +import cz.jzitnik.game.entities.items.ToolVariant; + +import java.util.Arrays; + +@BlockRegistry("diamond_ore") +public class DiamondOreBlock extends Block { + public DiamondOreBlock() { + super("diamond_ore", SpriteLoader.SPRITES.DIAMOND_ORE, 15, ItemType.PICKAXE, Arrays.stream(ToolVariant.values()).toList()); + } +} 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/DiamondBlockItem.java new file mode 100644 index 0000000..a01f74d --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondBlockItem.java @@ -0,0 +1,13 @@ +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; + +@ItemRegistry("diamond_block") +public class DiamondBlockItem extends Item { + public DiamondBlockItem() { + super("diamond_block", "Diamond block", ItemType.BLOCK, SpriteLoader.SPRITES.ITEM_DIAMOND_BLOCK); + } +} 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/DiamondItem.java new file mode 100644 index 0000000..672cf22 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondItem.java @@ -0,0 +1,13 @@ +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; + +@ItemRegistry("diamond") +public class DiamondItem extends Item { + public DiamondItem() { + super("diamond", "Diamond", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.DIAMOND); + } +} 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/DiamondOreItem.java new file mode 100644 index 0000000..e3c26d4 --- /dev/null +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/DiamondOreItem.java @@ -0,0 +1,13 @@ +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; + +@ItemRegistry("diamond_ore") +public class DiamondOreItem extends Item { + public DiamondOreItem() { + super("diamond_ore", "Diamond ore", ItemType.BLOCK, SpriteLoader.SPRITES.ITEM_DIAMOND_ORE); + } +} diff --git a/src/main/java/cz/jzitnik/game/smelting/Smelting.java b/src/main/java/cz/jzitnik/game/smelting/Smelting.java index e7af149..2d9441e 100644 --- a/src/main/java/cz/jzitnik/game/smelting/Smelting.java +++ b/src/main/java/cz/jzitnik/game/smelting/Smelting.java @@ -17,6 +17,7 @@ public class Smelting { smeltingList.put("gold_ore", () -> ItemBlockSupplier.getItem("gold_ingot")); smeltingList.put("oak_log", () -> ItemBlockSupplier.getItem("coal")); smeltingList.put("beef", () -> ItemBlockSupplier.getItem("steak")); + smeltingList.put("diamond_ore", () -> ItemBlockSupplier.getItem("diamond")); } public static final HashMap fuelList = new HashMap<>(); diff --git a/src/main/resources/textures/diamond_block.ans b/src/main/resources/textures/diamond_block.ans new file mode 100644 index 0000000..70c5b47 --- /dev/null +++ b/src/main/resources/textures/diamond_block.ans @@ -0,0 +1,25 @@ +       +       +          +              +              +             +             +             +            +           +           +            +          +          +           +           +           +             +             +              +           +           +             +         +         diff --git a/src/main/resources/textures/diamond_ore.ans b/src/main/resources/textures/diamond_ore.ans new file mode 100644 index 0000000..ad938f4 --- /dev/null +++ b/src/main/resources/textures/diamond_ore.ans @@ -0,0 +1,25 @@ +            +            +           +             +             +              +             +             +                 +            +            +             +               +               +              +              +             +         +         +               +              +              +           +      +      diff --git a/src/main/resources/textures/items/diamond.ans b/src/main/resources/textures/items/diamond.ans new file mode 100644 index 0000000..afb8153 --- /dev/null +++ b/src/main/resources/textures/items/diamond.ans @@ -0,0 +1,25 @@ +                                                   +                                                   +                                                   +                                      +                                      +                                     +                                +                                +                              +                              +                              +                       +                       +                       +                     +                     +                    +                            +                            +                            +                               +                               +                                  +                                                   +                                                   diff --git a/src/main/resources/textures/items/diamond_block.ans b/src/main/resources/textures/items/diamond_block.ans new file mode 100644 index 0000000..ebe8c93 --- /dev/null +++ b/src/main/resources/textures/items/diamond_block.ans @@ -0,0 +1,25 @@ +                                                  +                                              +                                          +                                      +                                  +                              +                            +                            +                            +                            +                            +                            +                            +                            +                            +                            +                            +                           +                            +                              +                                  +                                      +                                          +                                              +                                                  diff --git a/src/main/resources/textures/items/diamond_ore.ans b/src/main/resources/textures/items/diamond_ore.ans new file mode 100644 index 0000000..d0f572f --- /dev/null +++ b/src/main/resources/textures/items/diamond_ore.ans @@ -0,0 +1,25 @@ +                                                  +                                              +                                          +                                   +                             +                           +                        +                          +                       +                       +                          +                        +                       +                          +                         +                       +                        +                        +                          +                         +                          +                                   +                                      +                                            +