Search in sources :

Example 1 with Group

use of gg.projecteden.nexus.framework.commands.models.annotations.Permission.Group in project Nexus by ProjectEdenGG.

the class NewPlayersCommand method run.

@Path("[page]")
void run(@Arg("1") int page) {
    final Map<Player, Integer> players = new HashMap<>();
    final HoursService service = new HoursService();
    for (Player player : OnlinePlayers.getAll()) {
        Hours hours = service.get(player.getUniqueId());
        if (!hours.has(TickTime.HOUR))
            players.put(player, hours.getTotal());
    }
    if (players.isEmpty())
        error("No new players found");
    HashMap<Player, Integer> sorted = Utils.sortByValue(players);
    send(PREFIX);
    BiFunction<Player, String, JsonBuilder> formatter = (player, index) -> json(index + "  ").group().next("&6&l[TP]").command("/mcmd vanish on ;; tp " + player.getName()).hover("This will automatically vanish you").group().next("  ").group().next("&c&l[WHOTF]").command("/whotf " + player.getName()).group().next(" &e" + player.getName() + " &7- " + Timespan.ofSeconds(sorted.get(player)).format());
    paginate(sorted.keySet(), formatter, "/newplayers", page);
}
Also used : JsonBuilder(gg.projecteden.nexus.utils.JsonBuilder) Path(gg.projecteden.nexus.framework.commands.models.annotations.Path) JsonBuilder(gg.projecteden.nexus.utils.JsonBuilder) NonNull(lombok.NonNull) BiFunction(java.util.function.BiFunction) CustomCommand(gg.projecteden.nexus.framework.commands.models.CustomCommand) Arg(gg.projecteden.nexus.framework.commands.models.annotations.Arg) HashMap(java.util.HashMap) Group(gg.projecteden.nexus.framework.commands.models.annotations.Permission.Group) Player(org.bukkit.entity.Player) Utils(gg.projecteden.nexus.utils.Utils) Hours(gg.projecteden.nexus.models.hours.Hours) TickTime(gg.projecteden.utils.TimeUtils.TickTime) CommandEvent(gg.projecteden.nexus.framework.commands.models.events.CommandEvent) Map(java.util.Map) Permission(gg.projecteden.nexus.framework.commands.models.annotations.Permission) HoursService(gg.projecteden.nexus.models.hours.HoursService) OnlinePlayers(gg.projecteden.nexus.utils.PlayerUtils.OnlinePlayers) Timespan(gg.projecteden.utils.TimeUtils.Timespan) Player(org.bukkit.entity.Player) HashMap(java.util.HashMap) Hours(gg.projecteden.nexus.models.hours.Hours) HoursService(gg.projecteden.nexus.models.hours.HoursService) Path(gg.projecteden.nexus.framework.commands.models.annotations.Path)

Aggregations

CustomCommand (gg.projecteden.nexus.framework.commands.models.CustomCommand)1 Arg (gg.projecteden.nexus.framework.commands.models.annotations.Arg)1 Path (gg.projecteden.nexus.framework.commands.models.annotations.Path)1 Permission (gg.projecteden.nexus.framework.commands.models.annotations.Permission)1 Group (gg.projecteden.nexus.framework.commands.models.annotations.Permission.Group)1 CommandEvent (gg.projecteden.nexus.framework.commands.models.events.CommandEvent)1 Hours (gg.projecteden.nexus.models.hours.Hours)1 HoursService (gg.projecteden.nexus.models.hours.HoursService)1 JsonBuilder (gg.projecteden.nexus.utils.JsonBuilder)1 OnlinePlayers (gg.projecteden.nexus.utils.PlayerUtils.OnlinePlayers)1 Utils (gg.projecteden.nexus.utils.Utils)1 TickTime (gg.projecteden.utils.TimeUtils.TickTime)1 Timespan (gg.projecteden.utils.TimeUtils.Timespan)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 BiFunction (java.util.function.BiFunction)1 NonNull (lombok.NonNull)1 Player (org.bukkit.entity.Player)1