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);
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;

View File

@ -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_ORE,
IRON_ORE,
GOLD_ORE,
DIAMOND_ORE,
COAL_BLOCK, IRON_BLOCK, GOLD_BLOCK, DIAMOND_BLOCK,
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,
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
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,

View File

@ -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

View File

@ -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) {

View File

@ -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;
}

View File

@ -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();

View File

@ -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;