Search in sources :

Example 21 with Nerd

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

the class HallOfHistoryCommand method create.

@Permission(Group.STAFF)
@Path("create <player>")
void create(@Arg(tabCompleter = Nerd.class) String player) {
    runCommand("blockcenter");
    String name;
    String skin;
    try {
        Nerd nerd = Nerd.of(convertToOfflinePlayer(player));
        name = nerd.getColoredName();
        skin = nerd.getName();
    } catch (PlayerNotFoundException e) {
        // probably a veteran
        name = Rank.VETERAN.colored().getHex() + player;
        skin = player;
    }
    // is there a better workaround for this? :P
    final String name1 = name;
    final String skin1 = skin;
    Tasks.wait(5, () -> runCommand("npc create " + name1));
    Tasks.wait(10, () -> runCommand("npc skin " + skin1));
}
Also used : PlayerNotFoundException(gg.projecteden.nexus.framework.exceptions.postconfigured.PlayerNotFoundException) Nerd(gg.projecteden.nexus.models.nerd.Nerd) Path(gg.projecteden.nexus.framework.commands.models.annotations.Path) Permission(gg.projecteden.nexus.framework.commands.models.annotations.Permission)

Example 22 with Nerd

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

the class HallOfHistoryCommand method view.

@Async
@Path("view <player>")
void view(OfflinePlayer target) {
    line(4);
    Nerd nerd = Nerd.of(target);
    send("&e&l" + nerd.getNickname());
    line();
    if (!nerd.getNickname().equals(nerd.getName()))
        send("  &eIGN: &3" + nerd.getName());
    if (!nerd.getPronouns().isEmpty())
        send("  &ePronouns: &3" + String.join(", ", nerd.getPronouns().stream().map(Enum::toString).toList()));
    line();
    HallOfHistory hallOfHistory = service.get(target.getUniqueId());
    for (RankHistory rankHistory : hallOfHistory.getRankHistory()) {
        JsonBuilder builder = new JsonBuilder();
        builder.next("  " + (rankHistory.isCurrent() ? "&2Current" : "&cFormer") + " " + rankHistory.getRank().getChatColor() + rankHistory.getRank().getName());
        if (isStaff())
            builder.next("  &c[x]").command("/hoh removerank " + target.getName() + " " + getRankCommandArgs(rankHistory));
        send(builder);
        send("    &ePromotion Date: &3" + shortDateFormat(rankHistory.getPromotionDate()));
        if (rankHistory.getResignationDate() != null)
            send("    &eResignation Date: &3" + shortDateFormat(rankHistory.getResignationDate()));
    }
    line();
    if (!isNullOrEmpty(nerd.getAbout()))
        send("  &eAbout me: &3" + nerd.getAbout());
    if (nerd.isMeetMeVideo()) {
        line();
        String url = EdenSocialMediaSite.WEBSITE.getUrl() + "/meet/" + nerd.getName().toLowerCase();
        send(json("  &eMeet Me!&c " + url).url(url));
    }
}
Also used : JsonBuilder(gg.projecteden.nexus.utils.JsonBuilder) HallOfHistory(gg.projecteden.nexus.models.hallofhistory.HallOfHistory) RankHistory(gg.projecteden.nexus.models.hallofhistory.HallOfHistory.RankHistory) Nerd(gg.projecteden.nexus.models.nerd.Nerd) Path(gg.projecteden.nexus.framework.commands.models.annotations.Path) Async(gg.projecteden.annotations.Async)

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