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");
}
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");
}
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);
}
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;
}
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();
}
}
});
}
Aggregations