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