diff --git a/src/main/java/us/tastybento/bskyblock/util/Util.java b/src/main/java/us/tastybento/bskyblock/util/Util.java index 7334528b0..c8beca68f 100755 --- a/src/main/java/us/tastybento/bskyblock/util/Util.java +++ b/src/main/java/us/tastybento/bskyblock/util/Util.java @@ -247,9 +247,7 @@ public class Util { public static List getOnlinePlayerList(User user) { final List returned = new ArrayList<>(); for (Player p : Bukkit.getServer().getOnlinePlayers()) { - if (user == null) { - returned.add(p.getName()); - } else if (user.getPlayer().canSee(p)) { + if (user == null || user.getPlayer().canSee(p)) { returned.add(p.getName()); } } @@ -327,87 +325,6 @@ public class Util { } - /** - * Checks if this location is safe for a player to teleport to. Used by - * warps and boat exits Unsafe is any liquid or air and also if there's no - * space - * - * @param l - * - Location to be checked - * @return true if safe, otherwise false - */ - public static boolean isSafeLocation(final Location l) { - if (l == null) { - return false; - } - // TODO: improve the safe location finding. - //Bukkit.getLogger().info("DEBUG: " + l.toString()); - final Block ground = l.getBlock().getRelative(BlockFace.DOWN); - final Block space1 = l.getBlock(); - final Block space2 = l.getBlock().getRelative(BlockFace.UP); - //Bukkit.getLogger().info("DEBUG: ground = " + ground.getType()); - //Bukkit.getLogger().info("DEBUG: space 1 = " + space1.getType()); - //Bukkit.getLogger().info("DEBUG: space 2 = " + space2.getType()); - // Portals are not "safe" - if (space1.getType() == Material.PORTAL || ground.getType() == Material.PORTAL || space2.getType() == Material.PORTAL - || space1.getType() == Material.ENDER_PORTAL || ground.getType() == Material.ENDER_PORTAL || space2.getType() == Material.ENDER_PORTAL) { - return false; - } - // If ground is AIR, then this is either not good, or they are on slab, - // stair, etc. - if (ground.getType() == Material.AIR) { - // Bukkit.getLogger().info("DEBUG: air"); - return false; - } - // In ASkyBlock, liquid may be unsafe - if (ground.isLiquid() || space1.isLiquid() || space2.isLiquid()) { - // Check if acid has no damage - if (plugin.getSettings().getAcidDamage() > 0D) { - // Bukkit.getLogger().info("DEBUG: acid"); - return false; - } else if (ground.getType().equals(Material.STATIONARY_LAVA) || ground.getType().equals(Material.LAVA) - || space1.getType().equals(Material.STATIONARY_LAVA) || space1.getType().equals(Material.LAVA) - || space2.getType().equals(Material.STATIONARY_LAVA) || space2.getType().equals(Material.LAVA)) { - // Lava check only - // Bukkit.getLogger().info("DEBUG: lava"); - return false; - } - } - MaterialData md = ground.getState().getData(); - if (md instanceof SimpleAttachableMaterialData) { - //Bukkit.getLogger().info("DEBUG: trapdoor/button/tripwire hook etc."); - if (md instanceof TrapDoor) { - TrapDoor trapDoor = (TrapDoor)md; - if (trapDoor.isOpen()) { - //Bukkit.getLogger().info("DEBUG: trapdoor open"); - return false; - } - } else { - return false; - } - //Bukkit.getLogger().info("DEBUG: trapdoor closed"); - } - if (ground.getType().equals(Material.CACTUS) || ground.getType().equals(Material.BOAT) || ground.getType().equals(Material.FENCE) - || ground.getType().equals(Material.NETHER_FENCE) || ground.getType().equals(Material.SIGN_POST) || ground.getType().equals(Material.WALL_SIGN)) { - // Bukkit.getLogger().info("DEBUG: cactus"); - return false; - } - // Check that the space is not solid - // The isSolid function is not fully accurate (yet) so we have to - // check - // a few other items - // isSolid thinks that PLATEs and SIGNS are solid, but they are not - if (space1.getType().isSolid() && !space1.getType().equals(Material.SIGN_POST) && !space1.getType().equals(Material.WALL_SIGN)) { - return false; - } - if (space2.getType().isSolid()&& !space2.getType().equals(Material.SIGN_POST) && !space2.getType().equals(Material.WALL_SIGN)) { - return false; - } - // Safe - //Bukkit.getLogger().info("DEBUG: safe!"); - return true; - } - /** * Get the maximum value of a numerical perm setting * @param player - the player to check