Search in sources :

Example 6 with Nerd

use of gg.projecteden.nexus.models.nerd.Nerd in project Nexus by ProjectEdenGG.

the class FirstLoginCommand method stats.

@Async
@Path("stats")
@Permission(Group.ADMIN)
void stats() {
    StringBuilder data = new StringBuilder();
    for (Nerd nerd : new NerdService().getAll()) if (nerd.getFirstJoin() != null)
        data.append(nerd.getNickname()).append(",").append(DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(nerd.getFirstJoin())).append(System.lineSeparator());
    IOUtils.fileAppend("joindates.csv", data.toString());
    send(PREFIX + "Generated joindates.csv");
}
Also used : Nerd(gg.projecteden.nexus.models.nerd.Nerd) NerdService(gg.projecteden.nexus.models.nerd.NerdService) Path(gg.projecteden.nexus.framework.commands.models.annotations.Path) Async(gg.projecteden.annotations.Async) Permission(gg.projecteden.nexus.framework.commands.models.annotations.Permission)

Example 7 with Nerd

use of gg.projecteden.nexus.models.nerd.Nerd in project Nexus by ProjectEdenGG.

the class BadgeCommand method convert.

@Async
@Permission(Group.ADMIN)
@Path("convert")
void convert() {
    int i = 0;
    int owned = 0;
    int active = 0;
    final List<Nerd> nerds = new NerdService().getAll();
    send(PREFIX + "Converting checkmarks");
    for (Nerd nerd : nerds) {
        if (!LuckPermsUtils.hasPermission(nerd, "donated"))
            continue;
        final BadgeUser user = service.get(nerd);
        user.give(Badge.SUPPORTER);
        ++owned;
        if (nerd.isCheckmark()) {
            user.setActive(Badge.SUPPORTER);
            ++active;
        }
        if (++i % 25 == 0)
            send(PREFIX + "Converted &e" + i + "&3/&e" + nerds.size());
    }
    service.saveCache();
    send(PREFIX + "Completed; &e" + owned + " &3owned, &e" + active + " &3active");
}
Also used : Nerd(gg.projecteden.nexus.models.nerd.Nerd) BadgeUser(gg.projecteden.nexus.models.badge.BadgeUser) NerdService(gg.projecteden.nexus.models.nerd.NerdService) Path(gg.projecteden.nexus.framework.commands.models.annotations.Path) Async(gg.projecteden.annotations.Async) Permission(gg.projecteden.nexus.framework.commands.models.annotations.Permission)

Example 8 with Nerd

use of gg.projecteden.nexus.models.nerd.Nerd in project Nexus by ProjectEdenGG.

the class AltBanCommand method bots.

@Permission(Group.ADMIN)
@Path("bots <names> [--dryrun]")
void bots(@Arg(type = String.class) List<String> names, @Switch boolean dryrun) {
    int banned = 0;
    int ignored = 0;
    for (String name : names) {
        try {
            Nerd nerd = Nerd.of(name);
            if (!nerd.getPastNames().contains(name))
                throw new PlayerNotFoundException(name);
            ++banned;
            if (dryrun)
                send("Banning " + name);
            else
                Punishments.of(nerd).add(Punishment.ofType(PunishmentType.ALT_BAN).punisher(uuid()).input("Spam bot").now(true));
        } catch (PlayerNotFoundException ex) {
            send("Ignoring " + name);
            ++ignored;
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    send("Banned " + banned + ", ignored " + ignored);
}
Also used : PlayerNotFoundException(gg.projecteden.nexus.framework.exceptions.postconfigured.PlayerNotFoundException) Nerd(gg.projecteden.nexus.models.nerd.Nerd) PlayerNotFoundException(gg.projecteden.nexus.framework.exceptions.postconfigured.PlayerNotFoundException) Path(gg.projecteden.nexus.framework.commands.models.annotations.Path) Permission(gg.projecteden.nexus.framework.commands.models.annotations.Permission)

Example 9 with Nerd

use of gg.projecteden.nexus.models.nerd.Nerd in project Nexus by ProjectEdenGG.

the class PublicChannel method getChatterFormat.

public JsonBuilder getChatterFormat(Chatter chatter, Chatter viewer) {
    final Nerd nerd = Nerd.of(chatter);
    final JsonBuilder json = new JsonBuilder(color + "[" + nickname.toUpperCase() + "]").hover(color + name + " &fChannel");
    if (viewer != null && !this.equals(viewer.getActiveChannel()))
        json.hover("&fUse &c/ch " + nickname.toLowerCase() + " &fto switch", "&fto this channel");
    json.group().next(" ").group().next(nerd.getChatFormat(viewer)).next(" " + color + ChatColor.BOLD + "> " + getMessageColor()).hover("&3Rank: " + nerd.getRank().getColoredName());
    if (nerd.hasNickname())
        json.hover("&3Real name: &e" + nerd.getName());
    if (!nerd.getPronouns().isEmpty())
        json.hover("&3Pronouns: " + nerd.getPronouns().stream().map(pronoun -> "&e" + pronoun + "&3").collect(Collectors.joining(", ")));
    return json;
}
Also used : JsonBuilder(gg.projecteden.nexus.utils.JsonBuilder) Nerd(gg.projecteden.nexus.models.nerd.Nerd)

Example 10 with Nerd

use of gg.projecteden.nexus.models.nerd.Nerd in project Nexus by ProjectEdenGG.

the class StaffHallCommand method writeHtml.

private static void writeHtml() {
    File folder = Paths.get("plugins/website/meetthestaff/").toFile();
    if (!folder.exists())
        folder.mkdir();
    Rank.getStaffNerds().thenAccept(ranks -> {
        for (Rank rank : ranks.keySet()) {
            for (Nerd staff : ranks.get(rank)) try {
                String html = "";
                if (!Strings.isNullOrEmpty(staff.getPreferredName()))
                    html += "<span style=\"font-weight: bold;\">Preferred name:</span> " + staff.getPreferredName() + "<br/>";
                if (staff.getBirthday() != null)
                    html += "<span style=\"font-weight: bold;\">Birthday:</span> " + shortDateFormat(staff.getBirthday()) + " (" + staff.getBirthday().until(LocalDate.now()).getYears() + " years)<br/>";
                if (staff.getPromotionDate() != null)
                    html += "<span style=\"font-weight: bold;\">Promotion date:</span> " + shortDateFormat(staff.getPromotionDate()) + "<br/>";
                html += "<br/>";
                if (!Strings.isNullOrEmpty(staff.getAbout()))
                    html += "<span style=\"font-weight: bold;\">About me:</span> " + staff.getAbout();
                File file = Paths.get("plugins/website/meetthestaff/" + staff.getUuid() + ".html").toFile();
                if (!file.exists())
                    file.createNewFile();
                Files.write(file.toPath(), html.getBytes(), StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    });
}
Also used : Rank(gg.projecteden.nexus.models.nerd.Rank) File(java.io.File) Nerd(gg.projecteden.nexus.models.nerd.Nerd)

Aggregations

Nerd (gg.projecteden.nexus.models.nerd.Nerd)22 Path (gg.projecteden.nexus.framework.commands.models.annotations.Path)12 NerdService (gg.projecteden.nexus.models.nerd.NerdService)8 Permission (gg.projecteden.nexus.framework.commands.models.annotations.Permission)6 EventHandler (org.bukkit.event.EventHandler)5 Async (gg.projecteden.annotations.Async)4 JsonBuilder (gg.projecteden.nexus.utils.JsonBuilder)4 CustomCommand (gg.projecteden.nexus.framework.commands.models.CustomCommand)3 Arg (gg.projecteden.nexus.framework.commands.models.annotations.Arg)3 Group (gg.projecteden.nexus.framework.commands.models.annotations.Permission.Group)3 CommandEvent (gg.projecteden.nexus.framework.commands.models.events.CommandEvent)3 PlayerNotFoundException (gg.projecteden.nexus.framework.exceptions.postconfigured.PlayerNotFoundException)3 Aliases (gg.projecteden.nexus.framework.commands.models.annotations.Aliases)2 HallOfHistory (gg.projecteden.nexus.models.hallofhistory.HallOfHistory)2 RankHistory (gg.projecteden.nexus.models.hallofhistory.HallOfHistory.RankHistory)2 Rank (gg.projecteden.nexus.models.nerd.Rank)2 Nickname (gg.projecteden.nexus.models.nickname.Nickname)2 Tasks (gg.projecteden.nexus.utils.Tasks)2 TickTime (gg.projecteden.utils.TimeUtils.TickTime)2 HashMap (java.util.HashMap)2