private void setState(String state) { TimoCloudAPI.getBukkitAPI().getThisServer().setState(state); }
@Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!sender.hasPermission("timocloud.command.bukkit")) { BukkitMessageManager.noPermission(sender); return false; } if (args.length < 2) { sendHelp(sender); return false; } if (args[0].equalsIgnoreCase("setstate")) { TimoCloudAPI.getBukkitAPI().getThisServer().setState(args[1]); BukkitMessageManager.sendMessage(sender, "&aState has successfully been set to &e" + args[1]); } return false; }
public void setStateByPlayerCount() { int cur = TimoCloudBukkit.getInstance().getOnlinePlayersAmount(); String currentState = TimoCloudAPI.getBukkitAPI().getThisServer().getState(); if (!currentState.equals(lastStateSet)) stateBefore = currentState; if (!TimoCloudBukkit.getInstance().getFileManager().getConfig().getStringList("PlayersToState.enabledWhileStates").contains(stateBefore)) return; double percentage = (double) cur / (double) TimoCloudBukkit.getInstance().getMaxPlayersAmount() * 100; String state = null; List<Double> steps = new ArrayList<>(); Map<Double, String> states = new HashMap<>(); for (String step : TimoCloudBukkit.getInstance().getFileManager().getConfig().getConfigurationSection("PlayersToState.percentages").getKeys(false)) { try { Double d = NumberFormat.getInstance(Locale.GERMAN).parse(step).doubleValue(); steps.add(d); states.put(d, TimoCloudBukkit.getInstance().getFileManager().getConfig().getString("PlayersToState.percentages." + step)); } catch (Exception e) { } } Collections.sort(steps); for (double step : steps) { if (percentage >= step) state = states.get(step); } if (state == null) { setState(stateBefore); } else { setState(state); lastStateSet = state; } }