mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-12-22 09:08:03 +01:00
Fixed unnecessary if statement and removed redundant code.
This commit is contained in:
parent
56ff9f62e4
commit
672d43fb67
@ -247,9 +247,7 @@ public class Util {
|
||||
public static List<String> getOnlinePlayerList(User user) {
|
||||
final List<String> 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
|
||||
|
Loading…
Reference in New Issue
Block a user