style: Reformated SpriteLoader and minor changes

This commit is contained in:
Jakub Žitník 2025-03-11 12:29:04 +01:00
parent 58de8c652b
commit ed921ff6cd
Signed by: jzitnik
GPG Key ID: C577A802A6AF4EF3
7 changed files with 108 additions and 30 deletions

View File

@ -178,10 +178,11 @@ public class Game implements Serializable {
} }
Block breakingBlock = new Block("breaking", SpriteLoader.SPRITES.BREAKING); Block breakingBlock = new Block("breaking", SpriteLoader.SPRITES.BREAKING);
breakingBlock.setGhost(true);
world[y][x].add(breakingBlock); world[y][x].add(breakingBlock);
screenRenderer.render(this); 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); .calculateHardness(inventory);
this.mining = true; this.mining = true;

View File

@ -12,62 +12,141 @@ public class SpriteLoader {
// BLOCKS // BLOCKS
// 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 // Flowers etc
GRASS_BUSH, GRASS_BUSH,
// Ores // Ores
COAL_ORE, IRON_ORE, GOLD_ORE, DIAMOND_ORE, COAL_ORE,
IRON_ORE,
GOLD_ORE,
DIAMOND_ORE,
COAL_BLOCK, IRON_BLOCK, GOLD_BLOCK, DIAMOND_BLOCK, COAL_BLOCK,
IRON_BLOCK,
GOLD_BLOCK,
DIAMOND_BLOCK,
// Work // Work
FURNACE, CHEST, CRAFTING_TABLE, BED, FURNACE,
CHEST,
CRAFTING_TABLE,
BED,
// Saplings // Saplings
OAK_SAPLING, OAK_SAPLING,
// ENTITIES // ENTITIES
STEVE, PIG, SHEEP, COW, STEVE,
PIG,
SHEEP,
COW,
// UI // UI
BREAKING, HEART, HUNGER, BREAKING,
HEART,
HUNGER,
// ITEMS // ITEMS
// Items // Items
ITEM_STICK, ITEM_LEATHER, ITEM_STICK,
ITEM_LEATHER,
// Block Items // 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 // 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, ITEM_COAL_BLOCK,
ITEM_IRON_BLOCK,
ITEM_GOLD_BLOCK,
ITEM_DIAMOND_BLOCK,
COAL, ITEM_IRON_INGOT, ITEM_GOLD_INGOT, DIAMOND, COAL,
ITEM_IRON_INGOT,
ITEM_GOLD_INGOT,
DIAMOND,
// Work Items // Work Items
ITEM_CRAFTING_TABLE, ITEM_CHEST, ITEM_FURNACE, ITEM_BED, ITEM_CRAFTING_TABLE,
ITEM_CHEST,
ITEM_FURNACE,
ITEM_BED,
// Tools // 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, SHEARS,
BUCKET, WATER_BUCKET, LAVA_BUCKET, MILK_BUCKET, BUCKET,
WATER_BUCKET,
LAVA_BUCKET,
MILK_BUCKET,
// Food // 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 // Seeds
ITEM_WHEAT_SEEDS, ITEM_WHEAT_SEEDS,

View File

@ -11,7 +11,6 @@ import lombok.Setter;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
@Getter @Getter
@Setter @Setter

View File

@ -34,7 +34,7 @@ public class Generation {
world[terrainHeight[256] - 1][256].add(steveBlock2); world[terrainHeight[256] - 1][256].add(steveBlock2);
world[terrainHeight[256] - 2][256].add(steveBlock); 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) { private static void initializeWorld(List<Block>[][] world) {

View File

@ -53,15 +53,15 @@ public class BedPlaceHandler implements CustomPlaceHandler {
if (block.getSpriteState().get() == Bed.BedState.LEFT) { if (block.getSpriteState().get() == Bed.BedState.LEFT) {
var blocks2 = game.getWorld()[y][x + 1]; 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) { if (block.getSpriteState().get() == Bed.BedState.RIGHT) {
var blocks2 = game.getWorld()[y][x - 1]; 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; return true;
} }

View File

@ -118,7 +118,7 @@ public class SheepLogic
@Override @Override
public void spawn(int playerX, int playerY, Game game, Terminal terminal) { 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(), int[] data = ScreenMovingCalculationProvider.calculate(playerX, playerY, terminal.getHeight(),
terminal.getWidth(), game.getWorld()[0].length, game.getWorld().length); terminal.getWidth(), game.getWorld()[0].length, game.getWorld().length);
var world = game.getWorld(); var world = game.getWorld();

View File

@ -1,7 +1,6 @@
package cz.jzitnik.tui; package cz.jzitnik.tui;
import cz.jzitnik.game.Game; import cz.jzitnik.game.Game;
import cz.jzitnik.game.entities.Block;
import cz.jzitnik.game.ui.Window; import cz.jzitnik.game.ui.Window;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.jline.terminal.MouseEvent; import org.jline.terminal.MouseEvent;