X-Git-Url: https://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2FGameItems.java;h=c3e020791570a456bf906f41165d8a76cb654171;hp=1bbb03cf1997384679f975411c7b958515b834e4;hb=793c88f81ae273b531dcdea267e1720c6878cc95;hpb=4eb1f6f24fb76c0336394b85393e801fd0b99da4 diff --git a/core/src/ru/deadsoftware/cavedroid/game/GameItems.java b/core/src/ru/deadsoftware/cavedroid/game/GameItems.java index 1bbb03c..c3e0207 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) && thatId >= thisId) || + (isLava(thisId) && isLava(thatId) && thatId >= thisId); + } + public static Block getBlock(int id) { return blocks.getValueAt(id); }