diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java
index 0c6e24ee74f5c210b61d0a9260d0f39924aaaf9b..9f8d05f8e5d98cdf18f44ecb7408c496f55a7641 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java
@@ -9,6 +9,7 @@ import de.hdm_stuttgart.battlearena.Model.Entity.EntityFactory;
 import de.hdm_stuttgart.battlearena.Model.Entity.EntityType;
 import de.hdm_stuttgart.battlearena.Model.Entity.IEntity;
 import de.hdm_stuttgart.battlearena.Model.Inputs.InputHandler;
+import de.hdm_stuttgart.battlearena.Model.Map.Biom;
 import de.hdm_stuttgart.battlearena.Model.Map.TileManager;
 
 import javafx.animation.AnimationTimer;
@@ -47,47 +48,31 @@ public class GameSceneController implements Initializable {
     TileManager tileManager;
 
     //map data
-    /*String mapString =  "4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 " +
-                        "4 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 3 " +
-                        "4 2 1 1 1 1 1 2 2 2 1 1 1 1 2 1 1 3 " +
-                        "4 1 1 1 2 2 4 3 3 1 4 3 3 3 3 2 2 3 " +
-                        "4 1 1 1 2 2 4 1 1 1 1 1 1 1 3 1 2 3 " +
-                        "4 1 1 1 2 2 4 1 3 3 3 1 1 1 3 2 2 3 " +
-                        "4 1 1 1 2 2 4 1 1 1 1 1 1 1 3 2 1 3 " +
-                        "4 1 5 1 2 2 4 3 3 1 4 3 3 3 3 2 1 3 " +
-                        "4 6 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 3 " +
-                        "4 1 1 1 2 2 4 3 3 1 3 3 3 3 3 2 1 3 " +
-                        "4 1 1 1 1 2 4 3 3 1 3 3 3 3 3 1 1 3 " +
-                        "4 1 1 1 1 2 4 3 3 1 3 3 3 3 3 2 2 3 " +
-                        "4 1 1 1 1 1 4 3 3 1 3 3 3 3 3 1 2 3 " +
-                        "4 1 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1 3 " +
-                        "4 1 1 2 1 1 1 2 2 2 1 1 1 1 1 1 1 3 " +
-                        "4 1 1 1 2 2 4 3 3 1 3 3 3 3 3 2 2 3 " +
-                        "4 1 1 1 2 2 4 3 3 1 3 3 3 3 3 2 2 3 " +
-                        "4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ";*/
-        String mapString =  "4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
-                            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
-                            "4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ";
+
+    String mapString = "4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 3 " +
+            "4 9 10 9 10 9 10 9 10 9 10 9 10 9 10 9 10 3 " +
+            "4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ";
+
     int horizontalTileCount = 18;
     int verticalTileCount = 18;
-    int diffTileCount = 12;
+    int diffTileCount = 30;
     int scaledTileSize = 48;
-
+    private final Biom biom = runtimeInfo.getMapBiom();
 
     @Override
     public void initialize(URL url, ResourceBundle resourceBundle) {
@@ -104,7 +89,8 @@ public class GameSceneController implements Initializable {
                     playerTwoClass, this, PlayerMode.PLAYER_TWO);
         }
 
-        tileManager = new TileManager(graphicsContext2D, diffTileCount, horizontalTileCount, verticalTileCount, mapString);
+        tileManager = new TileManager(graphicsContext2D, diffTileCount, horizontalTileCount,
+                verticalTileCount, mapString, biom);
 
         runtimeInfo.setGameState(GameState.PLAYING);
 
@@ -135,7 +121,6 @@ public class GameSceneController implements Initializable {
         tileManager.renderMap();
         player.renderEntity(graphicsContext);
         enemy.renderEntity(graphicsContext);
-
     }
 
     public IEntity getEnemy() {
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java
index c1d4f74649b252ee397dd132ac0d9f850a37aa85..876b1330d8ed2b28e8af51af32026a95ca9219fe 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/DataStorage/Classes/RuntimeInfo.java
@@ -6,6 +6,7 @@ import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Exceptions.ParserE
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Utilities.HashGenerator;
 import de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Utilities.Parser;
 import de.hdm_stuttgart.battlearena.Model.Entity.EntityClass;
+import de.hdm_stuttgart.battlearena.Model.Map.Biom;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -26,6 +27,8 @@ public class RuntimeInfo {
     private EntityClass playerOneClass = EntityClass.HUMAN;
     private EntityClass playerTwoClass = EntityClass.HUMAN;
 
+    private Biom mapBiom = Biom.GRASS; //Default value: GRASS
+
 
     private RuntimeInfo(){};
 
@@ -90,6 +93,14 @@ public class RuntimeInfo {
         this.playerTwoClass = playerTwoClass;
     }
 
+    public Biom getMapBiom() {
+        return mapBiom;
+    }
+
+    public void setMapBiom(Biom mapBiom) {
+        this.mapBiom = mapBiom;
+    }
+
     public int gameTimeInHours(){
         return persistenceInst.getStatistics().getGameTime() / 3600;
     }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/Biom.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/Biom.java
new file mode 100644
index 0000000000000000000000000000000000000000..ee6ca402f3fc3ec6bd1219c6a335578386e166b1
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/Biom.java
@@ -0,0 +1,8 @@
+package de.hdm_stuttgart.battlearena.Model.Map;
+
+public enum Biom {
+    BOMBERMAN,
+    DARK_LANDS,
+    FORREST,
+    GRASS
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java
index 81bdb3cdf80c27b8ed8380410bf7590e4ad0702a..9b1347d9c2197be373924cf5221393c560b1e22c 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java
@@ -20,7 +20,7 @@ public class TileManager {
     private final int verticalTileCount;
 
     public TileManager(GraphicsContext graphicsContext2D, int diffTileCount,
-                       int horizontalTileCount, int verticalTileCount, String mapString) {
+                       int horizontalTileCount, int verticalTileCount, String mapString, Biom biom) {
         this.graphicsContext2D = graphicsContext2D;
         this.horizontalTileCount = horizontalTileCount;
         this.verticalTileCount = verticalTileCount;
@@ -28,36 +28,59 @@ public class TileManager {
         tileSet = new BackgroundTile[diffTileCount];
         tileMap = new int[horizontalTileCount][verticalTileCount];
 
-        createTiles();
+        createTiles(biom);
         generateMap(mapString, horizontalTileCount, verticalTileCount);
     }
 
-    private void createTiles() {
-        try {
-            tileSet[0] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/Grass01.png"))));
-            tileSet[1] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/Grass02.png"))));
-            tileSet[2] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/Grass04.png"))));
-            tileSet[3] = TileFactory.createTile(TileType.NON_WALKABLE, TileType.DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/Stone01.png"))));
-            tileSet[4] = TileFactory.createTile(TileType.NON_WALKABLE, TileType.DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/Stone02.png"))));
-            tileSet[5] = TileFactory.createTile(TileType.WALKABLE,TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/heart.png"))));
-            tileSet[6] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/bomb.png"))));
-            tileSet[7] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/bigbomb.png"))));
-            tileSet[8] = TileFactory.createTile(TileType.WALKABLE,TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/middleexplosion.png"))));
-            tileSet[9] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/box.png"))));
-            tileSet[10] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
-                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/solidstone.png"))));
-        } catch (Exception e) {
-            log.error(e);
+    //index 0-9: WALKABLE + NON_DESTRUCTIBLE, index 10-19: NON_WALKABLE + NON_DESTRUCTIBLE, index 20-29: DESTRUCTIBLE
+    private void createTiles(Biom biom) {
+        if (biom == Biom.GRASS) {
+            try {
+                //Textures of walkable tiles
+                tileSet[0] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/ground/GrassGrassLand00.png"))));
+                tileSet[1] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/ground/GrassGrassLand01.png"))));
+                tileSet[2] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/ground/GrassPathGrassLand02.png"))));
+                tileSet[3] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/ground/GrassGrassLand03.png"))));
+                tileSet[4] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                tileSet[5] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                tileSet[6] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                tileSet[7] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                tileSet[8] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                tileSet[9] = TileFactory.createTile(TileType.WALKABLE, TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                //Textures of solid tiles
+                tileSet[10] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/building/StoneGrassLand00.png"))));
+                tileSet[11] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/building/StoneEndLeftGrassLand01.png"))));
+                tileSet[12] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/building/StoneEndRightGrassLand02.png"))));
+                tileSet[13] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/building/StoneWindowGrassLand03.png"))));
+                tileSet[14] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/building/StoneGateGrassLand04.png"))));
+                tileSet[15] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/building/StoneGrassLand05.png"))));
+                tileSet[16] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/grass_biom/ground/GrassGrassLand04.png"))));
+                tileSet[17] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                tileSet[18] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+                tileSet[19] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                        new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/NoTexture.png"))));
+            } catch (Exception e) {
+                log.error(e);
+            }
         }
     }
 
diff --git a/src/main/resources/textures/map/NoTexture.png b/src/main/resources/textures/map/NoTexture.png
new file mode 100644
index 0000000000000000000000000000000000000000..97d81e90559b742fa2098131248ce24bc7675069
Binary files /dev/null and b/src/main/resources/textures/map/NoTexture.png differ
diff --git a/src/main/resources/textures/map/box.png b/src/main/resources/textures/map/bomberman/box.png
similarity index 100%
rename from src/main/resources/textures/map/box.png
rename to src/main/resources/textures/map/bomberman/box.png
diff --git a/src/main/resources/textures/map/solidstone.png b/src/main/resources/textures/map/bomberman/solidstone.png
similarity index 100%
rename from src/main/resources/textures/map/solidstone.png
rename to src/main/resources/textures/map/bomberman/solidstone.png
diff --git a/src/main/resources/textures/map/dark_lands_biom/building/StoneDarkLand00.png b/src/main/resources/textures/map/dark_lands_biom/building/StoneDarkLand00.png
new file mode 100644
index 0000000000000000000000000000000000000000..7141744f6029a09af2e65b7af0f5f766042ca75b
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/building/StoneDarkLand00.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/building/StoneEndLeftDarkLand01.png b/src/main/resources/textures/map/dark_lands_biom/building/StoneEndLeftDarkLand01.png
new file mode 100644
index 0000000000000000000000000000000000000000..b71227d4148111cc979cfa08e68deac7236530b2
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/building/StoneEndLeftDarkLand01.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/building/StoneEndRightDarkLand02.png b/src/main/resources/textures/map/dark_lands_biom/building/StoneEndRightDarkLand02.png
new file mode 100644
index 0000000000000000000000000000000000000000..7dfab3fb95f3017893cc077b665dfc96a4736bda
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/building/StoneEndRightDarkLand02.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/building/StoneGateDarkLand04.png b/src/main/resources/textures/map/dark_lands_biom/building/StoneGateDarkLand04.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee9984315fc1f60ff9606ea8c2ca1fd89005887e
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/building/StoneGateDarkLand04.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/building/StoneWindowDarkLand03.png b/src/main/resources/textures/map/dark_lands_biom/building/StoneWindowDarkLand03.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca334756581f2cc2a55fbacc90f76d9b264b3bec
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/building/StoneWindowDarkLand03.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand00.png b/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand00.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d2c1ca9eaab73d2d221f59f1264e68f1ab354b7
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand00.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand01.png b/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand01.png
new file mode 100644
index 0000000000000000000000000000000000000000..2699381fb84e425ae3b20b119ed4b12a5cfc4d71
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand01.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand03.png b/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand03.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff59e764b05b97b000573b245368329779b96823
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/ground/GrassDarkLand03.png differ
diff --git a/src/main/resources/textures/map/dark_lands_biom/ground/GrassPathDarkLand02.png b/src/main/resources/textures/map/dark_lands_biom/ground/GrassPathDarkLand02.png
new file mode 100644
index 0000000000000000000000000000000000000000..75b3a83c783fcb392b405d5c42879db3dfecc72c
Binary files /dev/null and b/src/main/resources/textures/map/dark_lands_biom/ground/GrassPathDarkLand02.png differ
diff --git a/src/main/resources/textures/map/Grass01.png b/src/main/resources/textures/map/forrest_biom/ground/GrassWoodLand00.png
similarity index 84%
rename from src/main/resources/textures/map/Grass01.png
rename to src/main/resources/textures/map/forrest_biom/ground/GrassWoodLand00.png
index e835d4676d2f80105626ece4d99b485a30b289fe..48584467f86445ad1f78925eb9f9cf219d1a46c4 100644
Binary files a/src/main/resources/textures/map/Grass01.png and b/src/main/resources/textures/map/forrest_biom/ground/GrassWoodLand00.png differ
diff --git a/src/main/resources/textures/map/forrest_biom/ground/GrassWoodLand01.png b/src/main/resources/textures/map/forrest_biom/ground/GrassWoodLand01.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d13544cd45bf4968df0444b75d688e198ceb805
Binary files /dev/null and b/src/main/resources/textures/map/forrest_biom/ground/GrassWoodLand01.png differ
diff --git a/src/main/resources/textures/map/Stone02.png b/src/main/resources/textures/map/grass_biom/building/StoneEndLeftGrassLand01.png
similarity index 85%
rename from src/main/resources/textures/map/Stone02.png
rename to src/main/resources/textures/map/grass_biom/building/StoneEndLeftGrassLand01.png
index 2ac41bee77062960aa2d8cfc921f66e45de629ba..afc98f647c69ff41538c540ad5f81dbddc9df2fd 100644
Binary files a/src/main/resources/textures/map/Stone02.png and b/src/main/resources/textures/map/grass_biom/building/StoneEndLeftGrassLand01.png differ
diff --git a/src/main/resources/textures/map/grass_biom/building/StoneEndRightGrassLand02.png b/src/main/resources/textures/map/grass_biom/building/StoneEndRightGrassLand02.png
new file mode 100644
index 0000000000000000000000000000000000000000..41fdeb5b6fb3096837434f98e0b779ec548779d2
Binary files /dev/null and b/src/main/resources/textures/map/grass_biom/building/StoneEndRightGrassLand02.png differ
diff --git a/src/main/resources/textures/map/grass_biom/building/StoneGateGrassLand04.png b/src/main/resources/textures/map/grass_biom/building/StoneGateGrassLand04.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee4e9538c461e7cd81843211bedfa1459863f098
Binary files /dev/null and b/src/main/resources/textures/map/grass_biom/building/StoneGateGrassLand04.png differ
diff --git a/src/main/resources/textures/map/Stone01.png b/src/main/resources/textures/map/grass_biom/building/StoneGrassLand00.png
similarity index 85%
rename from src/main/resources/textures/map/Stone01.png
rename to src/main/resources/textures/map/grass_biom/building/StoneGrassLand00.png
index b6cf13f66633060803264739b889f64c32877a0e..e31b2ac22af757240fd1a2d1fdf155161886866f 100644
Binary files a/src/main/resources/textures/map/Stone01.png and b/src/main/resources/textures/map/grass_biom/building/StoneGrassLand00.png differ
diff --git a/src/main/resources/textures/map/grass_biom/building/StoneGrassLand05.png b/src/main/resources/textures/map/grass_biom/building/StoneGrassLand05.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c93eef9343e85ccaf5f27ee57acf8af255530cd
Binary files /dev/null and b/src/main/resources/textures/map/grass_biom/building/StoneGrassLand05.png differ
diff --git a/src/main/resources/textures/map/grass_biom/building/StoneWindowGrassLand03.png b/src/main/resources/textures/map/grass_biom/building/StoneWindowGrassLand03.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae7119eeb0a21560093f3dc8fcb52a33bdb40708
Binary files /dev/null and b/src/main/resources/textures/map/grass_biom/building/StoneWindowGrassLand03.png differ
diff --git a/src/main/resources/textures/map/Grass02.png b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand00.png
similarity index 84%
rename from src/main/resources/textures/map/Grass02.png
rename to src/main/resources/textures/map/grass_biom/ground/GrassGrassLand00.png
index 144fad81f75b681454b58768081394cb40aaeead..42f20fb577ca233a64f9e570ca2c448a125ce2cd 100644
Binary files a/src/main/resources/textures/map/Grass02.png and b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand00.png differ
diff --git a/src/main/resources/textures/map/Grass04.png b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand01.png
similarity index 63%
rename from src/main/resources/textures/map/Grass04.png
rename to src/main/resources/textures/map/grass_biom/ground/GrassGrassLand01.png
index 4ce012b5eac6c41488efe96c5f66eb43c28c98ce..c0f799dfc6e5857b5cefa31c3b3732d4f1a84770 100644
Binary files a/src/main/resources/textures/map/Grass04.png and b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand01.png differ
diff --git a/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand03.png b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand03.png
new file mode 100644
index 0000000000000000000000000000000000000000..abdfbc8114e9e5a233757bf77a764fc1e753365b
Binary files /dev/null and b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand03.png differ
diff --git a/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand04.png b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand04.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ea95c178f078c9adceba8de2a8d1af544200ca5
Binary files /dev/null and b/src/main/resources/textures/map/grass_biom/ground/GrassGrassLand04.png differ
diff --git a/src/main/resources/textures/map/grass_biom/ground/GrassPathGrassLand02.png b/src/main/resources/textures/map/grass_biom/ground/GrassPathGrassLand02.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a8050dfd2e9188c0c72d7000ae205c55864e6d8
Binary files /dev/null and b/src/main/resources/textures/map/grass_biom/ground/GrassPathGrassLand02.png differ
diff --git a/src/main/resources/textures/map/bigbomb.png b/src/main/resources/textures/objects/big_bomb/bigbomb.png
similarity index 100%
rename from src/main/resources/textures/map/bigbomb.png
rename to src/main/resources/textures/objects/big_bomb/bigbomb.png
diff --git a/src/main/resources/textures/map/bomb.png b/src/main/resources/textures/objects/bomb/bomb.png
similarity index 100%
rename from src/main/resources/textures/map/bomb.png
rename to src/main/resources/textures/objects/bomb/bomb.png
diff --git a/src/main/resources/textures/map/heart.png b/src/main/resources/textures/objects/heal/heart.png
similarity index 100%
rename from src/main/resources/textures/map/heart.png
rename to src/main/resources/textures/objects/heal/heart.png
diff --git a/src/main/resources/textures/map/bigexplosion.png b/src/main/resources/textures/objects/vfx/bigexplosion.png
similarity index 100%
rename from src/main/resources/textures/map/bigexplosion.png
rename to src/main/resources/textures/objects/vfx/bigexplosion.png
diff --git a/src/main/resources/textures/map/middleexplosion.png b/src/main/resources/textures/objects/vfx/middleexplosion.png
similarity index 100%
rename from src/main/resources/textures/map/middleexplosion.png
rename to src/main/resources/textures/objects/vfx/middleexplosion.png
diff --git a/src/main/resources/textures/map/smallexplosion.png b/src/main/resources/textures/objects/vfx/smallexplosion.png
similarity index 100%
rename from src/main/resources/textures/map/smallexplosion.png
rename to src/main/resources/textures/objects/vfx/smallexplosion.png