mirror of
https://github.com/nkomarn/harbor.git
synced 2024-09-30 15:37:26 +02:00
Perhaps fixing needed count
This commit is contained in:
parent
a1357648ff
commit
5d5710af91
@ -12,6 +12,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import static java.util.stream.Collectors.toList;
|
||||||
|
|
||||||
public class Checker implements Runnable {
|
public class Checker implements Runnable {
|
||||||
|
|
||||||
private static final List<World> skippingWorlds = new ArrayList<>();
|
private static final List<World> skippingWorlds = new ArrayList<>();
|
||||||
@ -61,22 +63,18 @@ public class Checker implements Runnable {
|
|||||||
final String message = Config.getString("messages.actionbar.sleeping");
|
final String message = Config.getString("messages.actionbar.sleeping");
|
||||||
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(
|
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(
|
||||||
ChatColor.translateAlternateColorCodes('&', message
|
ChatColor.translateAlternateColorCodes('&', message
|
||||||
.replace("[sleeping]", String.valueOf(getSleeping(world)))
|
.replace("[sleeping]", String.valueOf(getSleeping(world).size()))
|
||||||
.replace("[players]", String.valueOf(world.getPlayers().size()))
|
.replace("[players]", String.valueOf(world.getPlayers().size()))
|
||||||
.replace("[needed]", String.valueOf(getSkipAmount(world)))
|
.replace("[needed]", String.valueOf(getSkipAmount(world)))
|
||||||
.replace("[more]", String.valueOf(getNeeded(world))))));
|
.replace("[more]", String.valueOf(getNeeded(world))))));
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Player> getSleeping(final World world) {
|
private List<Player> getSleeping(final World world) {
|
||||||
final List<Player> sleeping = new ArrayList<>();
|
return world.getPlayers().stream().filter(Player::isSleeping).collect(toList());
|
||||||
for (final Player player : world.getPlayers()) {
|
|
||||||
if (player.isSleeping()) sleeping.add(player);
|
|
||||||
}
|
|
||||||
return sleeping;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getSkipAmount(final World world) {
|
private int getSkipAmount(final World world) {
|
||||||
return (int) (getPlayers(world) * (Config.getDouble("values.percent") / 100));
|
return (int) Math.ceil(getPlayers(world) * (Config.getDouble("values.percent") / 100));
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getPlayers(final World world) {
|
private int getPlayers(final World world) {
|
||||||
@ -89,12 +87,8 @@ public class Checker implements Runnable {
|
|||||||
- getSleeping(world).size()));
|
- getSleeping(world).size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayList<Player> getExcluded(final World w) {
|
private List<Player> getExcluded(final World world) {
|
||||||
final ArrayList<Player> a = new ArrayList<>();
|
return world.getPlayers().stream().filter(this::isExcluded).collect(toList());
|
||||||
w.getPlayers().forEach(p -> {
|
|
||||||
if (isExcluded(p)) a.add(p);
|
|
||||||
});
|
|
||||||
return a;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isExcluded(final Player p) {
|
private boolean isExcluded(final Player p) {
|
||||||
|
Loading…
Reference in New Issue
Block a user