From ed921ff6cdb8f02f9e939924cb94c5308005c71d Mon Sep 17 00:00:00 2001
From: jzitnik-dev <email@jzitnik.dev>
Date: Tue, 11 Mar 2025 12:29:04 +0100
Subject: [PATCH] style: Reformated SpriteLoader and minor changes

---
 src/main/java/cz/jzitnik/game/Game.java       |   3 +-
 .../java/cz/jzitnik/game/SpriteLoader.java    | 123 ++++++++++++++----
 .../java/cz/jzitnik/game/entities/Block.java  |   1 -
 .../jzitnik/game/generation/Generation.java   |   2 +-
 .../place/handlers/BedPlaceHandler.java       |   6 +-
 .../game/mobs/services/sheep/SheepLogic.java  |   2 +-
 .../java/cz/jzitnik/tui/MouseHandler.java     |   1 -
 7 files changed, 108 insertions(+), 30 deletions(-)

diff --git a/src/main/java/cz/jzitnik/game/Game.java b/src/main/java/cz/jzitnik/game/Game.java
index ccf6288..ee903f3 100644
--- a/src/main/java/cz/jzitnik/game/Game.java
+++ b/src/main/java/cz/jzitnik/game/Game.java
@@ -178,10 +178,11 @@ public class Game implements Serializable {
         }
 
         Block breakingBlock = new Block("breaking", SpriteLoader.SPRITES.BREAKING);
+        breakingBlock.setGhost(true);
         world[y][x].add(breakingBlock);
         screenRenderer.render(this);
 
-        double hardness = world[y][x].stream().filter(block -> !block.isGhost()).toList().getFirst()
+        double hardness = world[y][x].stream().filter(block -> !block.getBlockId().equals("air")).toList().getFirst()
                 .calculateHardness(inventory);
 
         this.mining = true;
diff --git a/src/main/java/cz/jzitnik/game/SpriteLoader.java b/src/main/java/cz/jzitnik/game/SpriteLoader.java
index 423f04c..fbc0c19 100644
--- a/src/main/java/cz/jzitnik/game/SpriteLoader.java
+++ b/src/main/java/cz/jzitnik/game/SpriteLoader.java
@@ -12,62 +12,141 @@ public class SpriteLoader {
         // BLOCKS
 
         // Blocks
-        AIR, WATER, LAVA, DIRT, GRASS, STONE, BEDROCK, COBBLESTONE, WOOL, OAK_LOG, OAK_LEAF, OAK_PLANKS, OAK_DOOR, OBSIDIAN,
-
+        AIR,
+        WATER,
+        LAVA,
+        DIRT,
+        GRASS,
+        STONE,
+        BEDROCK,
+        COBBLESTONE,
+        WOOL,
+        OAK_LOG,
+        OAK_LEAF,
+        OAK_PLANKS,
+        OAK_DOOR,
+        OBSIDIAN,
+        
         // Flowers etc
         GRASS_BUSH,
 
         // Ores
-        COAL_ORE, IRON_ORE, GOLD_ORE, DIAMOND_ORE,
-
-        COAL_BLOCK, IRON_BLOCK, GOLD_BLOCK, DIAMOND_BLOCK,
+        COAL_ORE,
+        IRON_ORE,
+        GOLD_ORE,
+        DIAMOND_ORE,
+        
+        COAL_BLOCK,
+        IRON_BLOCK,
+        GOLD_BLOCK,
+        DIAMOND_BLOCK,
 
         // Work
-        FURNACE, CHEST, CRAFTING_TABLE, BED,
+        FURNACE,
+        CHEST,
+        CRAFTING_TABLE,
+        BED,
 
         // Saplings
         OAK_SAPLING,
 
         // ENTITIES
-        STEVE, PIG, SHEEP, COW,
+        STEVE,
+        PIG,
+        SHEEP,
+        COW,
 
         // UI
-        BREAKING, HEART, HUNGER,
+        BREAKING,
+        HEART,
+        HUNGER,
 
         // ITEMS
 
         // Items
-        ITEM_STICK, ITEM_LEATHER,
+        ITEM_STICK,
+        ITEM_LEATHER,
 
         // Block Items
-        ITEM_DIRT, ITEM_GRASS, ITEM_OAK_LOG, ITEM_OAK_LEAF, ITEM_OAK_PLANKS, ITEM_COBBLESTONE, ITEM_STONE, ITEM_OAK_DOOR, ITEM_WOOL, ITEM_OBSIDIAN,
+        ITEM_DIRT,
+        ITEM_GRASS,
+        ITEM_OAK_LOG,
+        ITEM_OAK_LEAF,
+        ITEM_OAK_PLANKS,
+        ITEM_COBBLESTONE,
+        ITEM_STONE,
+        ITEM_OAK_DOOR,
+        ITEM_WOOL,
+        ITEM_OBSIDIAN,
 
         // Ore Items
-        ITEM_COAL_ORE, ITEM_IRON_ORE, ITEM_GOLD_ORE, ITEM_DIAMOND_ORE,
+        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,
+        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, ITEM_CHEST, ITEM_FURNACE, ITEM_BED,
+        ITEM_CRAFTING_TABLE,
+        ITEM_CHEST,
+        ITEM_FURNACE,
+        ITEM_BED,
 
         // Tools
-        WOODEN_SWORD, WOODEN_PICKAXE, WOODEN_AXE, WOODEN_SHOVEL, WOODEN_HOE,
+        WOODEN_SWORD,
+        WOODEN_PICKAXE,
+        WOODEN_AXE,
+        WOODEN_SHOVEL,
+        WOODEN_HOE,
 
-        STONE_SWORD, STONE_PICKAXE, STONE_AXE, STONE_SHOVEL, STONE_HOE,
+        STONE_SWORD,
+        STONE_PICKAXE,
+        STONE_AXE,
+        STONE_SHOVEL,
+        STONE_HOE,
 
-        IRON_SWORD, IRON_PICKAXE, IRON_AXE, IRON_SHOVEL, IRON_HOE,
+        IRON_SWORD,
+        IRON_PICKAXE,
+        IRON_AXE,
+        IRON_SHOVEL,
+        IRON_HOE,
 
-        GOLDEN_SWORD, GOLDEN_PICKAXE, GOLDEN_AXE, GOLDEN_SHOVEL, GOLDEN_HOE,
+        GOLDEN_SWORD,
+        GOLDEN_PICKAXE,
+        GOLDEN_AXE,
+        GOLDEN_SHOVEL,
+        GOLDEN_HOE,
 
-        DIAMOND_SWORD, DIAMOND_PICKAXE, DIAMOND_AXE, DIAMOND_SHOVEL, DIAMOND_HOE,
+        DIAMOND_SWORD,
+        DIAMOND_PICKAXE,
+        DIAMOND_AXE,
+        DIAMOND_SHOVEL,
+        DIAMOND_HOE,
 
         SHEARS,
 
-        BUCKET, WATER_BUCKET, LAVA_BUCKET, MILK_BUCKET,
+        BUCKET,
+        WATER_BUCKET,
+        LAVA_BUCKET,
+        MILK_BUCKET,
+
         // Food
-        ITEM_PORKCHOP, ITEM_COOKED_PORKCHOP, ITEM_MUTTON, ITEM_COOKED_MUTTON, ITEM_BEEF, ITEM_STEAK, ITEM_APPLE,
+        ITEM_PORKCHOP,
+        ITEM_COOKED_PORKCHOP,
+        ITEM_MUTTON,
+        ITEM_COOKED_MUTTON,
+        ITEM_BEEF,
+        ITEM_STEAK,
+        ITEM_APPLE,
 
         // Seeds
         ITEM_WHEAT_SEEDS,
diff --git a/src/main/java/cz/jzitnik/game/entities/Block.java b/src/main/java/cz/jzitnik/game/entities/Block.java
index a5f9046..a9c04ce 100644
--- a/src/main/java/cz/jzitnik/game/entities/Block.java
+++ b/src/main/java/cz/jzitnik/game/entities/Block.java
@@ -11,7 +11,6 @@ import lombok.Setter;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Getter
 @Setter
diff --git a/src/main/java/cz/jzitnik/game/generation/Generation.java b/src/main/java/cz/jzitnik/game/generation/Generation.java
index 085ab97..ea45ac0 100644
--- a/src/main/java/cz/jzitnik/game/generation/Generation.java
+++ b/src/main/java/cz/jzitnik/game/generation/Generation.java
@@ -34,7 +34,7 @@ public class Generation {
         world[terrainHeight[256] - 1][256].add(steveBlock2);
         world[terrainHeight[256] - 2][256].add(steveBlock);
 
-        game.getInventory().addItem(ItemBlockSupplier.getItem("diamond_pickaxe"));
+        game.getInventory().addItem(ItemBlockSupplier.getItem("shears"));
     }
 
     private static void initializeWorld(List<Block>[][] world) {
diff --git a/src/main/java/cz/jzitnik/game/handlers/place/handlers/BedPlaceHandler.java b/src/main/java/cz/jzitnik/game/handlers/place/handlers/BedPlaceHandler.java
index 02bc3c0..a9c3bbf 100644
--- a/src/main/java/cz/jzitnik/game/handlers/place/handlers/BedPlaceHandler.java
+++ b/src/main/java/cz/jzitnik/game/handlers/place/handlers/BedPlaceHandler.java
@@ -53,15 +53,15 @@ public class BedPlaceHandler implements CustomPlaceHandler {
 
         if (block.getSpriteState().get() == Bed.BedState.LEFT) {
             var blocks2 = game.getWorld()[y][x + 1];
-            blocks2.removeAll(blocks2.stream().filter(i -> !i.getBlockId().equals("air")).toList());
+            blocks2.removeAll(blocks2.stream().filter(i -> i.getBlockId().equals("bed") || i.getBlockId().equals("breaking")).toList());
         }
 
         if (block.getSpriteState().get() == Bed.BedState.RIGHT) {
             var blocks2 = game.getWorld()[y][x - 1];
-            blocks2.removeAll(blocks2.stream().filter(i -> !i.getBlockId().equals("air")).toList());
+            blocks2.removeAll(blocks2.stream().filter(i -> i.getBlockId().equals("bed") || i.getBlockId().equals("breaking")).toList());
         }
 
-        blocks.removeAll(blocks.stream().filter(i -> !i.getBlockId().equals("air")).toList());
+        blocks.removeAll(blocks.stream().filter(i -> i.getBlockId().equals("bed") || i.getBlockId().equals("breaking")).toList());
 
         return true;
     }
diff --git a/src/main/java/cz/jzitnik/game/mobs/services/sheep/SheepLogic.java b/src/main/java/cz/jzitnik/game/mobs/services/sheep/SheepLogic.java
index 5da134a..b3df3b5 100644
--- a/src/main/java/cz/jzitnik/game/mobs/services/sheep/SheepLogic.java
+++ b/src/main/java/cz/jzitnik/game/mobs/services/sheep/SheepLogic.java
@@ -118,7 +118,7 @@ public class SheepLogic
 
     @Override
     public void spawn(int playerX, int playerY, Game game, Terminal terminal) {
-        // Cordinates where player can see
+        // Coordinates where player can see
         int[] data = ScreenMovingCalculationProvider.calculate(playerX, playerY, terminal.getHeight(),
                 terminal.getWidth(), game.getWorld()[0].length, game.getWorld().length);
         var world = game.getWorld();
diff --git a/src/main/java/cz/jzitnik/tui/MouseHandler.java b/src/main/java/cz/jzitnik/tui/MouseHandler.java
index 824519f..97a70de 100644
--- a/src/main/java/cz/jzitnik/tui/MouseHandler.java
+++ b/src/main/java/cz/jzitnik/tui/MouseHandler.java
@@ -1,7 +1,6 @@
 package cz.jzitnik.tui;
 
 import cz.jzitnik.game.Game;
-import cz.jzitnik.game.entities.Block;
 import cz.jzitnik.game.ui.Window;
 import lombok.AllArgsConstructor;
 import org.jline.terminal.MouseEvent;