feat: Added haybale

This commit is contained in:
Jakub Žitník 2025-03-21 15:12:58 +01:00
parent 4caeca4fed
commit f20d17adf6
Signed by: jzitnik
GPG Key ID: C577A802A6AF4EF3
8 changed files with 116 additions and 0 deletions

View File

@ -27,6 +27,7 @@ public class SpriteLoader {
OAK_DOOR,
OBSIDIAN,
SAND,
HAYBALE,
// Flowers etc
GRASS_BUSH,
@ -97,6 +98,7 @@ public class SpriteLoader {
ITEM_WOOL,
ITEM_OBSIDIAN,
ITEM_SAND,
ITEM_HAYBALE,
// Tall Flowers
ITEM_LILAC,
@ -198,6 +200,7 @@ public class SpriteLoader {
SPRITES_MAP.put(SPRITES.COBBLESTONE, new SimpleSprite("cobblestone.ans"));
SPRITES_MAP.put(SPRITES.OBSIDIAN, new SimpleSprite("obsidian.ans"));
SPRITES_MAP.put(SPRITES.SAND, new SimpleSprite("sand.ans"));
SPRITES_MAP.put(SPRITES.HAYBALE, new SimpleSprite("haybale.ans"));
// Ores
SPRITES_MAP.put(SPRITES.COAL_ORE, new SimpleSprite("coal_ore.ans"));
@ -276,6 +279,7 @@ public class SpriteLoader {
SPRITES_MAP.put(SPRITES.ITEM_WOOL, new WoolItem());
SPRITES_MAP.put(SPRITES.ITEM_OBSIDIAN, new SimpleSprite("items/obsidian.ans"));
SPRITES_MAP.put(SPRITES.ITEM_SAND, new SimpleSprite("items/sand.ans"));
SPRITES_MAP.put(SPRITES.ITEM_HAYBALE, new SimpleSprite("items/haybale.ans"));
// Tall flowers
SPRITES_MAP.put(SPRITES.ITEM_LILAC, new SimpleSprite("items/lilac.ans"));

View File

@ -0,0 +1,14 @@
package cz.jzitnik.game.crafting.recipes.blocks;
import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
@CraftingRecipeRegistry(
recipe = {
"wheat", "wheat", "wheat",
"wheat", "wheat", "wheat",
"wheat", "wheat", "wheat"
},
result = "haybale",
amount = 1
)
public class HaybaleRecipe {}

View File

@ -0,0 +1,14 @@
package cz.jzitnik.game.crafting.recipes.blocks;
import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
@CraftingRecipeRegistry(
recipe = {
"haybale", "_", "_",
"_", "_", "_",
"_", "_", "_"
},
result = "wheat",
amount = 9
)
public class WheatRecipe {}

View File

@ -0,0 +1,15 @@
package cz.jzitnik.game.entities.items.registry.blocks.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 java.util.ArrayList;
@BlockRegistry("haybale")
public class HaybaleBlock extends Block {
public HaybaleBlock() {
super("haybale", SpriteLoader.SPRITES.HAYBALE, 3, ItemType.HOE, new ArrayList<>());
}
}

View File

@ -0,0 +1,13 @@
package cz.jzitnik.game.entities.items.registry.items.blocks;
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("haybale")
public class HaybaleItem extends Item {
public HaybaleItem() {
super("haybale", "Haybale", ItemType.BLOCK, SpriteLoader.SPRITES.ITEM_HAYBALE);
}
}

View File

@ -1,6 +1,8 @@
package cz.jzitnik.game.generation;
import cz.jzitnik.game.entities.Block;
import cz.jzitnik.game.entities.items.InventoryItem;
import cz.jzitnik.game.entities.items.ItemBlockSupplier;
import cz.jzitnik.game.Game;
import cz.jzitnik.game.SpriteLoader;
import cz.jzitnik.game.sprites.Steve;
@ -32,6 +34,10 @@ public class Generation {
// Spawn player at a valid starting point
world[terrainHeight[256] - 1][256].add(steveBlock2);
world[terrainHeight[256] - 2][256].add(steveBlock);
game.getInventory().addItem(new InventoryItem(9, ItemBlockSupplier.getItem("wheat")));
game.getInventory().addItem(ItemBlockSupplier.getItem("crafting_table"));
game.getInventory().addItem(ItemBlockSupplier.getItem("haybale"));
}
private static void initializeWorld(List<Block>[][] world) {

View File

@ -0,0 +1,25 @@
                      
                  
                    
             
              
     
   
              
                   
                 
                
                  
                  
                    
                 
              
                  
    
    
            
             
                
                      
                   
                   

View File

@ -0,0 +1,25 @@