DEADSOFTWARE

New blocks structure
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / world / GameWorld.java
index d3e56c1a760ba6d9991870343bc2502efee48942..d4a66bcb8ad622ca43193d9df7f9cdb95d24d020 100644 (file)
@@ -4,8 +4,8 @@ import kotlin.Pair;
 import ru.deadsoftware.cavedroid.game.GameItems;
 import ru.deadsoftware.cavedroid.game.GameScope;
 import ru.deadsoftware.cavedroid.game.mobs.MobsController;
+import ru.deadsoftware.cavedroid.game.model.block.Block;
 import ru.deadsoftware.cavedroid.game.model.world.generator.WorldGeneratorConfig;
-import ru.deadsoftware.cavedroid.game.objects.Block;
 import ru.deadsoftware.cavedroid.game.objects.DropController;
 
 import javax.annotation.CheckForNull;
@@ -134,34 +134,14 @@ public class GameWorld {
         setMap(x, y, 1, id);
     }
 
-    private void placeSlab(int x, int y, int value) {
-        switch (value) {
-            case 51:
-                setForeMap(x, y, 52);
-                break;
-            case 53:
-                setForeMap(x, y, 21);
-                break;
-            case 54:
-                setForeMap(x, y, 5);
-                break;
-            case 55:
-                setForeMap(x, y, 4);
-                break;
-            case 56:
-                setForeMap(x, y, 28);
-                break;
-            case 58:
-                setForeMap(x, y, 57);
-                break;
-        }
-    }
-
     public void placeToForeground(int x, int y, int value) {
         if (!hasForeAt(x, y) || value == 0 || !GameItems.getBlock(getForeMap(x, y)).hasCollision()) {
             setForeMap(x, y, value);
         } else if (GameItems.isSlab(value) && getForeMap(x, y) == value) {
-            placeSlab(x, y, value);
+            final Block block = GameItems.getBlock(value);
+            if (block instanceof Block.Slab) {
+                setForeMap(x, y, GameItems.getBlockId(((Block.Slab) block).getFullBlockKey()));
+            }
         }
     }