forked from jzitnik/twodcraft
feat: Added flint and steel
This commit is contained in:
parent
8b8c23dad4
commit
da92b9e61a
@ -85,6 +85,7 @@ public class SpriteLoader {
|
||||
ITEM_STICK,
|
||||
ITEM_LEATHER,
|
||||
ITEM_DYE,
|
||||
ITEM_FLINT,
|
||||
|
||||
// Block Items
|
||||
ITEM_DIRT,
|
||||
@ -157,6 +158,7 @@ public class SpriteLoader {
|
||||
DIAMOND_HOE,
|
||||
|
||||
SHEARS,
|
||||
FLINT_AND_STEEL,
|
||||
|
||||
BUCKET,
|
||||
WATER_BUCKET,
|
||||
@ -266,6 +268,7 @@ public class SpriteLoader {
|
||||
SPRITES_MAP.put(SPRITES.ITEM_STICK, new SimpleSprite("items/stick.ans"));
|
||||
SPRITES_MAP.put(SPRITES.ITEM_LEATHER, new SimpleSprite("items/leather.ans"));
|
||||
SPRITES_MAP.put(SPRITES.ITEM_DYE, new Dye());
|
||||
SPRITES_MAP.put(SPRITES.ITEM_FLINT, new SimpleSprite("items/flint.ans"));
|
||||
|
||||
// Block Items
|
||||
SPRITES_MAP.put(SPRITES.ITEM_DIRT, new SimpleSprite("items/dirt.ans"));
|
||||
@ -338,6 +341,7 @@ public class SpriteLoader {
|
||||
SPRITES_MAP.put(SPRITES.DIAMOND_HOE, new SimpleSprite("items/diamond_hoe.ans"));
|
||||
|
||||
SPRITES_MAP.put(SPRITES.SHEARS, new SimpleSprite("items/shears.ans"));
|
||||
SPRITES_MAP.put(SPRITES.FLINT_AND_STEEL, new SimpleSprite("items/flint_and_steel.ans"));
|
||||
|
||||
SPRITES_MAP.put(SPRITES.BUCKET, new SimpleSprite("items/bucket.ans"));
|
||||
SPRITES_MAP.put(SPRITES.WATER_BUCKET, new SimpleSprite("items/water_bucket.ans"));
|
||||
|
@ -0,0 +1,14 @@
|
||||
package cz.jzitnik.game.crafting.recipes.tools;
|
||||
|
||||
import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
|
||||
|
||||
@CraftingRecipeRegistry(
|
||||
recipe = {
|
||||
"iron_ingot", "_", "_",
|
||||
"_", "flint", "_",
|
||||
"_", "_", "_"
|
||||
},
|
||||
result = "flint_and_steel",
|
||||
amount = 1
|
||||
)
|
||||
public class FlintAndSteelRecipe {}
|
@ -0,0 +1,14 @@
|
||||
package cz.jzitnik.game.crafting.recipes.tools;
|
||||
|
||||
import cz.jzitnik.game.annotations.CraftingRecipeRegistry;
|
||||
|
||||
@CraftingRecipeRegistry(
|
||||
recipe = {
|
||||
"iron_ingot", "flint", "_",
|
||||
"_", "_", "_",
|
||||
"_", "_", "_"
|
||||
},
|
||||
result = "flint_and_steel",
|
||||
amount = 1
|
||||
)
|
||||
public class FlintAndSteelRecipe2 {}
|
@ -1,5 +1,5 @@
|
||||
package cz.jzitnik.game.entities.items;
|
||||
|
||||
public enum ItemType {
|
||||
PICKAXE, SHOVEL, AXE, SHEARS, BLOCK, FOOD, USELESS_ITEM, HOE, SWORD, PICKUPER
|
||||
PICKAXE, SHOVEL, AXE, SHEARS, BLOCK, FOOD, USELESS_ITEM, HOE, SWORD, PICKUPER, FLINT_AND_STEEL
|
||||
}
|
||||
|
@ -0,0 +1,13 @@
|
||||
package cz.jzitnik.game.entities.items.registry.items.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("flint")
|
||||
public class FlintItem extends Item {
|
||||
public FlintItem() {
|
||||
super("flint", "Flint", ItemType.USELESS_ITEM, SpriteLoader.SPRITES.ITEM_FLINT);
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package cz.jzitnik.game.entities.items.registry.items.tools;
|
||||
|
||||
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("flint_and_steel")
|
||||
public class FlintAndSteelItem extends Item {
|
||||
public FlintAndSteelItem() {
|
||||
super("flint_and_steel", "Flint and steel", ItemType.FLINT_AND_STEEL, SpriteLoader.SPRITES.FLINT_AND_STEEL);
|
||||
setDurability(64);
|
||||
setMaxDurability(64);
|
||||
}
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
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;
|
||||
@ -35,9 +34,8 @@ public class Generation {
|
||||
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"));
|
||||
game.getInventory().addItem(ItemBlockSupplier.getItem("flint"));
|
||||
game.getInventory().addItem(ItemBlockSupplier.getItem("iron_ingot"));
|
||||
}
|
||||
|
||||
private static void initializeWorld(List<Block>[][] world) {
|
||||
|
@ -0,0 +1,23 @@
|
||||
package cz.jzitnik.game.handlers.tooluse.handlers;
|
||||
|
||||
import cz.jzitnik.game.Game;
|
||||
import cz.jzitnik.game.annotations.Flamable;
|
||||
import cz.jzitnik.game.annotations.ToolUse;
|
||||
import cz.jzitnik.game.entities.Block;
|
||||
import cz.jzitnik.game.entities.items.ItemType;
|
||||
import cz.jzitnik.game.handlers.tooluse.ToolUseHandler;
|
||||
|
||||
@ToolUse(ItemType.FLINT_AND_STEEL)
|
||||
public class FlintAndSteelUse implements ToolUseHandler{
|
||||
|
||||
@Override
|
||||
public void handle(Game game, int x, int y) {
|
||||
var blocks = game.getWorld()[y][x];
|
||||
|
||||
for (Block block : blocks) {
|
||||
if (block.getClass().isAnnotationPresent(Flamable.class)) {
|
||||
block.setOnFire(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
25
src/main/resources/textures/items/flint.ans
Normal file
25
src/main/resources/textures/items/flint.ans
Normal file
@ -0,0 +1,25 @@
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [48;5;235m [48;5;234m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [48;5;237m [48;5;236m [48;5;234m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [48;5;237m [48;5;240m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [48;5;237m [48;5;240m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [48;5;236m [48;5;237m [48;5;240m [48;5;8m [48;5;240m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [48;5;236m [48;5;237m [48;5;240m [48;5;248m [48;5;240m [48;5;237m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;235m [48;5;234m [48;5;236m [48;5;237m [48;5;240m [48;5;248m [48;5;240m [48;5;237m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;234m [48;5;237m [48;5;240m [48;5;248m [48;5;237m [48;5;234m [48;5;236m [48;5;233m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;234m [48;5;237m [48;5;236m [48;5;240m [48;5;8m [48;5;237m [48;5;236m [48;5;234m [48;5;236m [48;5;233m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;234m [48;5;237m [48;5;236m [48;5;240m [48;5;8m [48;5;237m [48;5;236m [48;5;234m [48;5;236m [48;5;233m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;234m [48;5;236m [48;5;8m [48;5;237m [48;5;236m [48;5;234m [48;5;240m [48;5;233m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;234m [48;5;236m [48;5;8m [48;5;237m [48;5;236m [48;5;234m [48;5;240m [48;5;233m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;234m [48;5;236m [48;5;237m [48;5;236m [48;5;237m [48;5;236m [48;5;234m [48;5;235m [48;5;237m [48;5;8m [48;5;233m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;233m [48;5;234m [48;5;237m [48;5;236m [48;5;234m [48;5;236m [48;5;237m [48;5;8m [48;5;233m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;233m [48;5;234m [48;5;237m [48;5;236m [48;5;234m [48;5;236m [48;5;237m [48;5;8m [48;5;233m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;236m [48;5;237m [48;5;240m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;234m [48;5;236m [48;5;237m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;234m [48;5;235m [48;5;234m [48;5;236m [48;5;237m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
25
src/main/resources/textures/items/flint_and_steel.ans
Normal file
25
src/main/resources/textures/items/flint_and_steel.ans
Normal file
@ -0,0 +1,25 @@
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;238m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;238m [48;5;250m [48;5;238m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;238m [48;5;250m [48;5;238m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;238m [48;5;250m [48;5;247m [48;5;236m [48;5;242m [48;5;236m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;238m [48;5;250m [48;5;236m [49m [49m [48;5;236m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;238m [48;5;250m [48;5;236m [49m [49m [48;5;236m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;238m [48;5;247m [48;5;238m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;238m [48;5;247m [48;5;238m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;238m [48;5;247m [48;5;238m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;238m [48;5;242m [48;5;238m [49m [49m [48;5;238m [48;5;236m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;236m [48;5;242m [48;5;247m [48;5;238m [48;5;247m [48;5;236m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;240m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [48;5;236m [48;5;242m [48;5;247m [48;5;238m [48;5;247m [48;5;236m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;240m [48;5;233m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;236m [48;5;242m [48;5;247m [48;5;236m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;235m [48;5;236m [48;5;232m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;236m [48;5;243m [48;5;242m [48;5;247m [48;5;236m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;235m [48;5;236m [48;5;232m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;236m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;236m [48;5;240m [48;5;8m [48;5;235m [48;5;232m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;235m [48;5;236m [48;5;248m [48;5;235m [48;5;233m [48;5;232m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;235m [48;5;236m [48;5;248m [48;5;235m [48;5;233m [48;5;232m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;240m [48;5;8m [48;5;235m [48;5;233m [48;5;235m [48;5;232m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;240m [48;5;236m [48;5;233m [48;5;235m [48;5;236m [48;5;240m [48;5;232m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;233m [48;5;240m [48;5;236m [48;5;233m [48;5;235m [48;5;236m [48;5;240m [48;5;232m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;232m [48;5;235m [48;5;233m [48;5;232m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;232m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
||||
[49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [48;5;232m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [49m [m
|
Loading…
x
Reference in New Issue
Block a user