From 41009d48be12ab93956094906d8a1188df1f51d9 Mon Sep 17 00:00:00 2001
From: jull <sefljulie@gmail.com>
Date: Fri, 14 Mar 2025 17:34:09 +0100
Subject: [PATCH] chore: flowers

---
 .../java/cz/jzitnik/game/SpriteLoader.java    | 24 +++++++++++++++++++
 .../items/registry/blocks/AlliumBlock.java    | 19 +++++++++++++++
 .../registry/blocks/AzureBluetBlock.java      | 19 +++++++++++++++
 .../registry/blocks/BlueOrchidBlock.java      | 19 +++++++++++++++
 .../registry/blocks/CornflowerBlock.java      | 19 +++++++++++++++
 .../items/registry/blocks/DandelionBlock.java | 19 +++++++++++++++
 .../registry/blocks/LilyOfTheValleyBlock.java | 19 +++++++++++++++
 .../registry/blocks/OrangeTulipBlock.java     | 19 +++++++++++++++
 .../registry/blocks/OxeyeDaisyBlock.java      | 19 +++++++++++++++
 .../items/registry/blocks/PinkTulipBlock.java | 19 +++++++++++++++
 .../items/registry/blocks/PoppyBlock.java     | 19 +++++++++++++++
 .../items/registry/blocks/RedTulipBlock.java  | 19 +++++++++++++++
 .../registry/blocks/WhiteTulipBlock.java      | 19 +++++++++++++++
 .../items/registry/items/AlliumItem.java      | 13 ++++++++++
 .../items/registry/items/AzureBluetItem.java  | 13 ++++++++++
 .../items/registry/items/BlueOrchidItem.java  | 13 ++++++++++
 .../items/registry/items/CornflowerItem.java  | 13 ++++++++++
 .../items/registry/items/DandelionItem.java   | 13 ++++++++++
 .../registry/items/LilyOfTheValleyItem.java   | 13 ++++++++++
 .../items/registry/items/OrangeTulipItem.java | 13 ++++++++++
 .../items/registry/items/OxeyeDaisyItem.java  | 13 ++++++++++
 .../items/registry/items/PinkTulipItem.java   | 13 ++++++++++
 .../items/registry/items/PoppyItem.java       | 13 ++++++++++
 .../items/registry/items/RedTulipItem.java    | 13 ++++++++++
 .../items/registry/items/WhiteTulipItem.java  | 13 ++++++++++
 25 files changed, 408 insertions(+)
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AlliumBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AzureBluetBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlueOrchidBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CornflowerBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DandelionBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LilyOfTheValleyBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OrangeTulipBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OxeyeDaisyBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkTulipBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PoppyBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/RedTulipBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteTulipBlock.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/AlliumItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/AzureBluetItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/BlueOrchidItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/CornflowerItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/DandelionItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/LilyOfTheValleyItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/OrangeTulipItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/OxeyeDaisyItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkTulipItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/PoppyItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/RedTulipItem.java
 create mode 100644 src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteTulipItem.java

diff --git a/src/main/java/cz/jzitnik/game/SpriteLoader.java b/src/main/java/cz/jzitnik/game/SpriteLoader.java
index fb462d5..c28d0b9 100644
--- a/src/main/java/cz/jzitnik/game/SpriteLoader.java
+++ b/src/main/java/cz/jzitnik/game/SpriteLoader.java
@@ -30,6 +30,18 @@ public class SpriteLoader {
         
         // Flowers etc
         GRASS_BUSH,
+        POPPY,
+        PINK_TULIP,
+        RED_TULIP,
+        ORANGE_TULIP,
+        WHITE_TULIP,
+        DANDELION,
+        CORNFLOWER,
+        ALLIUM,
+        BLUE_ORCHID,
+        OXEYE_DAISY,
+        AZURE_BLUET,
+        LILY_OF_THE_VALLEY,
 
         // Ores
         COAL_ORE,
@@ -178,6 +190,18 @@ public class SpriteLoader {
 
         // Flowers etc.
         SPRITES_MAP.put(SPRITES.GRASS_BUSH, new SimpleSprite("grass_bush.ans"));
+        SPRITES_MAP.put(SPRITES.POPPY, new SimpleSprite("poppy.ans"));
+        SPRITES_MAP.put(SPRITES.RED_TULIP, new SimpleSprite("red_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.PINK_TULIP, new SimpleSprite("pink_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.WHITE_TULIP, new SimpleSprite("white_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.ORANGE_TULIP, new SimpleSprite("orange_tulip.ans"));
+        SPRITES_MAP.put(SPRITES.DANDELION, new SimpleSprite("dandelion.ans"));
+        SPRITES_MAP.put(SPRITES.LILY_OF_THE_VALLEY, new SimpleSprite("lily_of_the_valley.ans"));
+        SPRITES_MAP.put(SPRITES.CORNFLOWER, new SimpleSprite("cornflower.ans"));
+        SPRITES_MAP.put(SPRITES.ALLIUM, new SimpleSprite("allium.ans"));
+        SPRITES_MAP.put(SPRITES.BLUE_ORCHID, new SimpleSprite("blue_orchid.ans"));
+        SPRITES_MAP.put(SPRITES.OXEYE_DAISY, new SimpleSprite("oxeye_daisy.ans"));
+        SPRITES_MAP.put(SPRITES.AZURE_BLUET, new SimpleSprite("azure_bluet.ans"));
 
         // Ores
         SPRITES_MAP.put(SPRITES.COAL_ORE, new SimpleSprite("coal_ore.ans"));
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AlliumBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AlliumBlock.java
new file mode 100644
index 0000000..cd6bec3
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AlliumBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "allium")
+public class AlliumBlock extends Block {
+    public AlliumBlock() {
+        super("allium", SpriteLoader.SPRITES.ALLIUM, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AzureBluetBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AzureBluetBlock.java
new file mode 100644
index 0000000..689e6cd
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/AzureBluetBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "azure_bluet")
+public class AzureBluetBlock extends Block {
+    public AzureBluetBlock() {
+        super("azure_bluet", SpriteLoader.SPRITES.AZURE_BLUET, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlueOrchidBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlueOrchidBlock.java
new file mode 100644
index 0000000..3103fed
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/BlueOrchidBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "blue_orchid")
+public class BlueOrchidBlock extends Block {
+    public BlueOrchidBlock() {
+        super("blue_orchid", SpriteLoader.SPRITES.BLUE_ORCHID, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CornflowerBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CornflowerBlock.java
new file mode 100644
index 0000000..fdfb1e1
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/CornflowerBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "cornflower")
+public class CornflowerBlock extends Block {
+    public CornflowerBlock() {
+        super("cornflower", SpriteLoader.SPRITES.CORNFLOWER, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DandelionBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DandelionBlock.java
new file mode 100644
index 0000000..62ef3bd
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/DandelionBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "dandelion")
+public class DandelionBlock extends Block {
+    public DandelionBlock() {
+        super("dandelion", SpriteLoader.SPRITES.DANDELION, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LilyOfTheValleyBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LilyOfTheValleyBlock.java
new file mode 100644
index 0000000..7bc4e64
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/LilyOfTheValleyBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "lily_of_the_valley")
+public class LilyOfTheValleyBlock extends Block {
+    public LilyOfTheValleyBlock() {
+        super("lily_of_the_valley", SpriteLoader.SPRITES.LILY_OF_THE_VALLEY, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OrangeTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OrangeTulipBlock.java
new file mode 100644
index 0000000..f72aaf0
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OrangeTulipBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "orange_tulip")
+public class OrangeTulipBlock extends Block {
+    public OrangeTulipBlock() {
+        super("orange_tulip", SpriteLoader.SPRITES.ORANGE_TULIP, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OxeyeDaisyBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OxeyeDaisyBlock.java
new file mode 100644
index 0000000..da6f46a
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/OxeyeDaisyBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "oxeye_daisy")
+public class OxeyeDaisyBlock extends Block {
+    public OxeyeDaisyBlock() {
+        super("oxeye_daisy", SpriteLoader.SPRITES.OXEYE_DAISY, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkTulipBlock.java
new file mode 100644
index 0000000..5348cc8
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PinkTulipBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "pink_tulip")
+public class PinkTulipBlock extends Block {
+    public PinkTulipBlock() {
+        super("pink_tulip", SpriteLoader.SPRITES.PINK_TULIP, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PoppyBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PoppyBlock.java
new file mode 100644
index 0000000..130fc39
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/PoppyBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "poppy")
+public class PoppyBlock extends Block {
+    public PoppyBlock() {
+        super("poppy", SpriteLoader.SPRITES.POPPY, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/RedTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/RedTulipBlock.java
new file mode 100644
index 0000000..ac8cedc
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/RedTulipBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "red_tulip")
+public class RedTulipBlock extends Block {
+    public RedTulipBlock() {
+        super("red_tulip", SpriteLoader.SPRITES.RED_TULIP, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteTulipBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteTulipBlock.java
new file mode 100644
index 0000000..7abbeeb
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/WhiteTulipBlock.java
@@ -0,0 +1,19 @@
+package cz.jzitnik.game.entities.items.registry.blocks;
+
+import cz.jzitnik.game.SpriteLoader;
+import cz.jzitnik.game.annotations.BlockRegistry;
+import cz.jzitnik.game.annotations.BreakableByWater;
+import cz.jzitnik.game.annotations.BreaksFalling;
+import cz.jzitnik.game.annotations.PlaceOnSolid;
+import cz.jzitnik.game.entities.Block;
+
+@PlaceOnSolid
+@BreakableByWater
+@BreaksFalling
+@BlockRegistry(value = "white_tulip")
+public class WhiteTulipBlock extends Block {
+    public WhiteTulipBlock() {
+        super("white_tulip", SpriteLoader.SPRITES.WHITE_TULIP, 0);
+        setGhost(true);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AlliumItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/AlliumItem.java
new file mode 100644
index 0000000..a3e6b38
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/AlliumItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("allium")
+public class AlliumItem extends Item {
+    public AlliumItem() {
+        super("allium", "Allium", ItemType.BLOCK, SpriteLoader.SPRITES.ALLIUM);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/AzureBluetItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/AzureBluetItem.java
new file mode 100644
index 0000000..d99f1d6
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/AzureBluetItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("azure_bluet")
+public class AzureBluetItem extends Item {
+    public AzureBluetItem() {
+        super("azure_bluet", "Azure bluet", ItemType.BLOCK, SpriteLoader.SPRITES.AZURE_BLUET);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/BlueOrchidItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/BlueOrchidItem.java
new file mode 100644
index 0000000..ffe5a67
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/BlueOrchidItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("blue_orchid")
+public class BlueOrchidItem extends Item {
+    public BlueOrchidItem() {
+        super("blue_orchid", "Blue orchid", ItemType.BLOCK, SpriteLoader.SPRITES.BLUE_ORCHID);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/CornflowerItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/CornflowerItem.java
new file mode 100644
index 0000000..a2e84d6
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/CornflowerItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("cornflower")
+public class CornflowerItem extends Item {
+    public CornflowerItem() {
+        super("cornflower", "Cornflower", ItemType.BLOCK, SpriteLoader.SPRITES.CORNFLOWER);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/DandelionItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/DandelionItem.java
new file mode 100644
index 0000000..bcee347
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/DandelionItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("dandelion")
+public class DandelionItem extends Item {
+    public DandelionItem() {
+        super("dandelion", "Dandelion", ItemType.BLOCK, SpriteLoader.SPRITES.DANDELION);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/LilyOfTheValleyItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/LilyOfTheValleyItem.java
new file mode 100644
index 0000000..5c2875b
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/LilyOfTheValleyItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("lily_of_the_valley")
+public class LilyOfTheValleyItem extends Item {
+    public LilyOfTheValleyItem() {
+        super("lily_of_the_valley", "Lily of the valley", ItemType.BLOCK, SpriteLoader.SPRITES.LILY_OF_THE_VALLEY);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OrangeTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/OrangeTulipItem.java
new file mode 100644
index 0000000..05fc730
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/OrangeTulipItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("orange_tulip")
+public class OrangeTulipItem extends Item {
+    public OrangeTulipItem() {
+        super("orange_tulip", "Orange tulip", ItemType.BLOCK, SpriteLoader.SPRITES.ORANGE_TULIP);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/OxeyeDaisyItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/OxeyeDaisyItem.java
new file mode 100644
index 0000000..a84e61a
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/OxeyeDaisyItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("oxeye_daisy")
+public class OxeyeDaisyItem extends Item {
+    public OxeyeDaisyItem() {
+        super("oxeye_daisy", "Oxeye daisy", ItemType.BLOCK, SpriteLoader.SPRITES.OXEYE_DAISY);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkTulipItem.java
new file mode 100644
index 0000000..09a749a
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/PinkTulipItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("pink_tulip")
+public class PinkTulipItem extends Item {
+    public PinkTulipItem() {
+        super("pink_tulip", "Pink tulip", ItemType.BLOCK, SpriteLoader.SPRITES.PINK_TULIP);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/PoppyItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/PoppyItem.java
new file mode 100644
index 0000000..003ac9b
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/PoppyItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("poppy")
+public class PoppyItem extends Item {
+    public PoppyItem() {
+        super("poppy", "Poppy", ItemType.BLOCK, SpriteLoader.SPRITES.POPPY);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/RedTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/RedTulipItem.java
new file mode 100644
index 0000000..c099a9f
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/RedTulipItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("red_tulip")
+public class RedTulipItem extends Item {
+    public RedTulipItem() {
+        super("red_tulip", "Red tulip", ItemType.BLOCK, SpriteLoader.SPRITES.RED_TULIP);
+    }
+}
diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteTulipItem.java b/src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteTulipItem.java
new file mode 100644
index 0000000..2871bcb
--- /dev/null
+++ b/src/main/java/cz/jzitnik/game/entities/items/registry/items/WhiteTulipItem.java
@@ -0,0 +1,13 @@
+package cz.jzitnik.game.entities.items.registry.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("white_tulip")
+public class WhiteTulipItem extends Item {
+    public WhiteTulipItem() {
+        super("white_tulip", "White tulip", ItemType.BLOCK, SpriteLoader.SPRITES.WHITE_TULIP);
+    }
+}