X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2FGameItems.java;h=87bb3d66a0cd4c0ac3a1196dc115d8cdf4f88fa6;hb=0d17e8d14a41f6fcedf2b52f01cd7ea88186280f;hp=1bbb03cf1997384679f975411c7b958515b834e4;hpb=4eb1f6f24fb76c0336394b85393e801fd0b99da4;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameItems.java b/core/src/ru/deadsoftware/cavedroid/game/GameItems.java index 1bbb03c..87bb3d6 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/GameItems.java +++ b/core/src/ru/deadsoftware/cavedroid/game/GameItems.java @@ -13,11 +13,11 @@ import java.util.HashMap; public class GameItems { - private static HashMap blocksIds = new HashMap(); - private static HashMap itemsIds = new HashMap(); + private static HashMap blocksIds = new HashMap<>(); + private static HashMap itemsIds = new HashMap<>(); - private static ArrayMap blocks = new ArrayMap(); - private static ArrayMap items = new ArrayMap(); + private static ArrayMap blocks = new ArrayMap<>(); + private static ArrayMap items = new ArrayMap<>(); public static boolean isFluid(int id) { return getBlock(id).isFluid(); @@ -35,6 +35,12 @@ public class GameItems { return getBlock(id).getMeta().equals("slab"); } + public static boolean fluidCanFlowThere(int thisId, int thatId) { + return thatId == 0 || (!getBlock(thatId).hasCollision() && !isFluid(thatId)) || + (isWater(thisId) && isWater(thatId) && thisId < thatId) || + (isLava(thisId) && isLava(thatId) && thisId < thatId); + } + public static Block getBlock(int id) { return blocks.getValueAt(id); }