public Location getSurfaceAt(Location origin) { Chunk chunky = origin.getChunk(); int x = origin.getBlockX(), z = origin.getBlockZ(), surface = 0, envid = origin.getWorld().getEnvironment().getId(); Set dimmap = Sets.newHashSet(envid == 0 ? new int[] {1, 2, 3, 7, 15, 16} : envid == -1 ? 87 : 121); for (int y = 0; y != 256; y++) if (dimmap.contains(chunky.getBlock(x, y, z).getTypeId())) surface = y; return chunky.getBlock(x, surface, z).getLocation(); }
@Override public OfflinePlayer[] getOfflinePlayers() { Set<OfflinePlayer> result = new HashSet<>(); Set<UUID> uuids = new HashSet<>(); // add the currently online players for (World world : getWorlds()) { for (Player player : world.getPlayers()) { result.add(player); uuids.add(player.getUniqueId()); } } // add all offline players that aren't already online for (OfflinePlayer offline : getPlayerDataService().getOfflinePlayers()) { if (!uuids.contains(offline.getUniqueId())) { result.add(offline); uuids.add(offline.getUniqueId()); } } return result.toArray(new OfflinePlayer[result.size()]); }
/** * Is the biome covered with snow? * * @param b biome to check * @return boolean */ public static boolean isTundra(Biome b) { return snowyBiomes.contains(b); }
/** * Is the biome a desert? * * @param b biome to check * @return boolean */ public static boolean isDesert(Biome b) { return desertBiomes.contains(b); }
/** * Is the biome a forest? * * @param b biome to check * @return boolean */ public static boolean isForest(Biome b) { return forestBiomes.contains(b) || jungleBiomes.contains(b); }
/** * Can the biome rain? * * @param b biome to check * @return boolean */ public static boolean isRainy(Biome b) { return rainBiomes.contains(b); }
public void logOnce(String error_id, String msg) { if (log_once.contains(error_id)) return; log_once.add(error_id); log.info(ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&', px + msg))); }
public void interactRocketBoots(InventoryClickEvent event, ItemStack boots) { Player player = (Player) event.getWhoClicked(); ClickType click = event.getClick(); Boolean hasRocketMeta = boots.hasItemMeta(); if (gamemodeCheck.check(player, GameMode.CREATIVE, GameMode.SPECTATOR)) { event.setCancelled(true); player.closeInventory(); disableRocketBoots(player, false, false, false, false, false); commonString.messageSend( RocketInit.getPlugin(), player, true, RocketLanguage.RB_GAMEMODE_ERROR); return; } if (hasRocketMeta) { ItemMeta rocketMeta = boots.getItemMeta(); if (rocketMeta.hasDisplayName()) if (rocketMeta.getDisplayName().matches(ChatColor.RED + "Rocket Boots")) if (rocketMeta.hasLore()) { String rocketLore = rocketMeta.getLore().get(0); String variantLore = null; if (rocketMeta.getLore().size() >= 2) variantLore = ChatColor.stripColor(rocketMeta.getLore().get(1)); Set<String> specialVariants = new HashSet<>(Collections.singletonList("Robin Hood")); if (variantLore != null) if (specialVariants.contains(variantLore)) { Variant variantType = Variant.getEnum(variantLore); if (variantType != null) if (variantType == Variant.MONEY) if (RocketInit.getVaultEconomy() == null) { commonString.messageSend( RocketInit.getPlugin(), player, true, RocketLanguage.RB_EQUIP_ERROR); return; } } if (rocketLore.matches(ChatColor.YELLOW + "Rocket Level I{0,3}V?X?")) if (!RocketInit.rocketUsage.contains(player.getUniqueId())) if (click == ClickType.MIDDLE) event.setCancelled(true); else attachRocketBoots(player, boots); } } else if (RocketInit.rocketSprint.containsKey(player.getUniqueId())) { commonString.messageSend( RocketInit.getPlugin(), player, true, new String[] {RocketLanguage.RB_COOLDOWN_TOUCH, RocketLanguage.RB_COOLDOWN_LAND}); event.setCancelled(true); player.closeInventory(); } else if (RocketInit.rocketPower.containsKey(player.getUniqueId())) disableRocketBoots(player, false, false, false, false, false); }