Search in sources :

Example 1 with Rank

use of net.dzikoysk.funnyguilds.basic.Rank in project FunnyGuilds by FunnyGuilds.

the class RankManager method update.

public void update(Guild guild) {
    if (!this.guilds.contains(guild.getRank())) {
        this.guilds.add(guild.getRank());
    } else {
        Collections.sort(guilds);
        for (int i = 0; i < guilds.size(); i++) {
            Rank rank = guilds.get(i);
            rank.setPosition(i + 1);
        }
    }
}
Also used : Rank(net.dzikoysk.funnyguilds.basic.Rank)

Example 2 with Rank

use of net.dzikoysk.funnyguilds.basic.Rank in project FunnyGuilds by FunnyGuilds.

the class AxcKills method execute.

@Override
public void execute(CommandSender sender, String[] args) {
    MessagesConfig messages = Messages.getInstance();
    if (args.length < 1) {
        sender.sendMessage(messages.generalNoNickGiven);
        return;
    }
    if (!UserUtils.playedBefore(args[0])) {
        sender.sendMessage(messages.generalNotPlayedBefore);
        return;
    }
    if (args.length < 2) {
        sender.sendMessage(messages.adminNoKillsGiven);
        return;
    }
    int kills;
    try {
        kills = Integer.valueOf(args[1]);
    } catch (NumberFormatException e) {
        sender.sendMessage(messages.adminErrorInNumber.replace("{ERROR}", args[1]));
        return;
    }
    User user = User.get(args[0]);
    Rank userRank = user.getRank();
    int change = kills - userRank.getDeaths();
    User admin = (sender instanceof Player) ? User.get(sender.getName()) : null;
    if (!SimpleEventHandler.handle(new KillsChangeEvent(admin == null ? EventCause.CONSOLE : EventCause.ADMIN, userRank, admin, change))) {
        return;
    }
    user.getRank().setKills(kills);
    sender.sendMessage(messages.adminKillsChanged.replace("{PLAYER}", user.getName()).replace("{KILLS}", Integer.toString(kills)));
}
Also used : Player(org.bukkit.entity.Player) User(net.dzikoysk.funnyguilds.basic.User) Rank(net.dzikoysk.funnyguilds.basic.Rank) MessagesConfig(net.dzikoysk.funnyguilds.data.configs.MessagesConfig) KillsChangeEvent(net.dzikoysk.funnyguilds.event.rank.KillsChangeEvent)

Example 3 with Rank

use of net.dzikoysk.funnyguilds.basic.Rank in project FunnyGuilds by FunnyGuilds.

the class AxcPoints method execute.

@Override
public void execute(CommandSender sender, String[] args) {
    MessagesConfig messages = Messages.getInstance();
    PluginConfig config = Settings.getConfig();
    if (args.length < 1) {
        sender.sendMessage(messages.generalNoNickGiven);
        return;
    }
    if (!UserUtils.playedBefore(args[0])) {
        sender.sendMessage(messages.generalNotPlayedBefore);
        return;
    }
    if (args.length < 2) {
        sender.sendMessage(messages.adminNoPointsGiven);
        return;
    }
    int points;
    try {
        points = Integer.valueOf(args[1]);
    } catch (NumberFormatException e) {
        sender.sendMessage(messages.adminErrorInNumber.replace("{ERROR}", args[1]));
        return;
    }
    User user = User.get(args[0]);
    Rank userRank = user.getRank();
    int change = points - userRank.getDeaths();
    User admin = (sender instanceof Player) ? User.get(sender.getName()) : null;
    if (!SimpleEventHandler.handle(new PointsChangeEvent(admin == null ? EventCause.CONSOLE : EventCause.ADMIN, userRank, admin, change))) {
        return;
    }
    user.getRank().setPoints(points);
    RankManager.getInstance().update(user);
    String message = messages.adminPointsChanged.replace("{PLAYER}", user.getName());
    message = message.replace("{POINTS-FORMAT}", IntegerRange.inRange(points, config.pointsFormat));
    message = message.replace("{POINTS}", String.valueOf(points));
    sender.sendMessage(message);
}
Also used : PluginConfig(net.dzikoysk.funnyguilds.data.configs.PluginConfig) Player(org.bukkit.entity.Player) User(net.dzikoysk.funnyguilds.basic.User) Rank(net.dzikoysk.funnyguilds.basic.Rank) MessagesConfig(net.dzikoysk.funnyguilds.data.configs.MessagesConfig) PointsChangeEvent(net.dzikoysk.funnyguilds.event.rank.PointsChangeEvent)

Example 4 with Rank

use of net.dzikoysk.funnyguilds.basic.Rank in project FunnyGuilds by FunnyGuilds.

the class ExcInfo method execute.

@Override
public void execute(CommandSender sender, String[] args) {
    MessagesConfig messages = Messages.getInstance();
    PluginConfig config = Settings.getConfig();
    String tag = null;
    if (args.length > 0) {
        tag = args[0];
    } else if (sender instanceof Player) {
        User user = User.get((Player) sender);
        if (user.hasGuild()) {
            tag = user.getGuild().getTag();
        }
    }
    if (tag == null || tag.isEmpty()) {
        sender.sendMessage(messages.infoTag);
        return;
    }
    if (!GuildUtils.tagExists(tag)) {
        sender.sendMessage(messages.infoExists);
        return;
    }
    Guild guild = GuildUtils.getByTag(tag);
    if (guild == null) {
        sender.sendMessage(messages.infoExists);
        return;
    }
    String validity = config.dateFormat.format(new Date(guild.getValidity()));
    long now = System.currentTimeMillis();
    long protectionEndTime = guild.getProtectionEndTime();
    for (String messageLine : messages.infoList) {
        messageLine = StringUtils.replace(messageLine, "{GUILD}", guild.getName());
        messageLine = StringUtils.replace(messageLine, "{TAG}", guild.getTag());
        messageLine = StringUtils.replace(messageLine, "{OWNER}", guild.getOwner().getName());
        messageLine = StringUtils.replace(messageLine, "{MEMBERS-ONLINE}", String.valueOf(guild.getOnlineMembers().size()));
        messageLine = StringUtils.replace(messageLine, "{MEMBERS-ALL}", String.valueOf(guild.getMembers().size()));
        messageLine = StringUtils.replace(messageLine, "{MEMBERS}", StringUtils.toString(UserUtils.getOnlineNames(guild.getMembers()), true));
        messageLine = StringUtils.replace(messageLine, "{DEPUTIES}", StringUtils.toString(UserUtils.getNames(guild.getDeputies()), true));
        messageLine = StringUtils.replace(messageLine, "{REGION-SIZE}", String.valueOf(guild.getRegionData().getSize()));
        messageLine = StringUtils.replace(messageLine, "{GUILD-PROTECTION}", protectionEndTime < now ? "Brak" : TimeUtils.getDurationBreakdown(protectionEndTime - now));
        Rank rank = guild.getRank();
        messageLine = StringUtils.replace(messageLine, "{POINTS-FORMAT}", IntegerRange.inRange(rank.getPoints(), config.pointsFormat));
        messageLine = StringUtils.replace(messageLine, "{POINTS}", Integer.toString(rank.getPoints()));
        messageLine = StringUtils.replace(messageLine, "{KILLS}", Integer.toString(rank.getKills()));
        messageLine = StringUtils.replace(messageLine, "{DEATHS}", Integer.toString(rank.getDeaths()));
        messageLine = StringUtils.replace(messageLine, "{KDR}", String.format(Locale.US, "%.2f", rank.getKDR()));
        messageLine = StringUtils.replace(messageLine, "{VALIDITY}", validity);
        messageLine = StringUtils.replace(messageLine, "{LIVES}", Integer.toString(guild.getLives()));
        if (guild.getMembers().size() >= config.minMembersToInclude) {
            messageLine = StringUtils.replace(messageLine, "{RANK}", String.valueOf(rank.getPosition()));
        } else {
            messageLine = StringUtils.replace(messageLine, "{RANK}", messages.minMembersToIncludeNoValue);
        }
        if (!guild.getAllies().isEmpty()) {
            messageLine = StringUtils.replace(messageLine, "{ALLIES}", StringUtils.toString(GuildUtils.getNames(guild.getAllies()), true));
        } else {
            messageLine = StringUtils.replace(messageLine, "{ALLIES}", messages.alliesNoValue);
        }
        if (messageLine.contains("<online>")) {
            String color = ChatColor.getLastColors(messageLine.split("<online>")[0]);
            messageLine = StringUtils.replace(messageLine, "<online>", ChatColor.GREEN + "");
            messageLine = StringUtils.replace(messageLine, "</online>", color);
        }
        sender.sendMessage(messageLine);
    }
}
Also used : PluginConfig(net.dzikoysk.funnyguilds.data.configs.PluginConfig) Player(org.bukkit.entity.Player) User(net.dzikoysk.funnyguilds.basic.User) Rank(net.dzikoysk.funnyguilds.basic.Rank) MessagesConfig(net.dzikoysk.funnyguilds.data.configs.MessagesConfig) Guild(net.dzikoysk.funnyguilds.basic.Guild) Date(java.util.Date)

Example 5 with Rank

use of net.dzikoysk.funnyguilds.basic.Rank in project FunnyGuilds by FunnyGuilds.

the class RankManager method update.

public void update(User user) {
    if (!this.users.contains(user.getRank())) {
        this.users.add(user.getRank());
    }
    Collections.sort(users);
    if (user.hasGuild()) {
        update(user.getGuild());
    }
    for (int i = 0; i < users.size(); i++) {
        Rank rank = users.get(i);
        rank.setPosition(i + 1);
    }
}
Also used : Rank(net.dzikoysk.funnyguilds.basic.Rank)

Aggregations

Rank (net.dzikoysk.funnyguilds.basic.Rank)7 User (net.dzikoysk.funnyguilds.basic.User)5 MessagesConfig (net.dzikoysk.funnyguilds.data.configs.MessagesConfig)5 Player (org.bukkit.entity.Player)5 PluginConfig (net.dzikoysk.funnyguilds.data.configs.PluginConfig)3 Date (java.util.Date)1 Guild (net.dzikoysk.funnyguilds.basic.Guild)1 DeathsChangeEvent (net.dzikoysk.funnyguilds.event.rank.DeathsChangeEvent)1 KillsChangeEvent (net.dzikoysk.funnyguilds.event.rank.KillsChangeEvent)1 PointsChangeEvent (net.dzikoysk.funnyguilds.event.rank.PointsChangeEvent)1