From 2bffcef9a90505d8605b7a49748624fb4000d9ef Mon Sep 17 00:00:00 2001 From: ZeroEpoch1969 <13510767+ZeroEpoch1969@users.noreply.github.com> Date: Wed, 21 Feb 2018 18:22:13 -0700 Subject: [PATCH] Myadmin tags and misc improvements --- pom.xml | 4 ++-- .../totalfreedommod/admin/Admin.java | 8 ++++++- .../command/Command_myadmin.java | 23 ++++++++++++++++++- .../command/Command_opall.java | 7 +++++- .../command/Command_setlimit.java | 20 +++++++++++++--- .../totalfreedommod/command/Command_stop.java | 12 ++++++++-- .../command/Command_wipewarps.java | 2 +- .../totalfreedommod/rank/RankManager.java | 13 +++++++++++ 8 files changed, 78 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 0c3fceb5..f83f847d 100644 --- a/pom.xml +++ b/pom.xml @@ -158,9 +158,9 @@ net.dv8tion JDA - 3.5.0_327-withDependencies + 3.5.1_339-withDependencies system - ${project.basedir}/lib/JDA-3.5.0_327-withDependencies.jar + ${project.basedir}/lib/JDA-3.5.1_339-withDependencies.jar diff --git a/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java b/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java index 09be8ee9..41c1eaa9 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java @@ -43,6 +43,9 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable @Getter @Setter private String discordID = null; + @Getter + @Setter + private String tag = null; public static final String CONFIG_FILENAME = "admins.yml"; @@ -69,7 +72,8 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable .append("- Custom Login Message: ").append(loginMessage).append("\n") .append("- Rank: ").append(rank.getName()).append("\n") .append("- Is Active: ").append(active).append("\n") - .append("- Discord ID: ").append(discordID).append("\n"); + .append("- Discord ID: ").append(discordID).append("\n") + .append("- Tag: ").append(tag); return output.toString(); } @@ -93,6 +97,7 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable lastLogin = FUtil.stringToDate(cs.getString("last_login")); loginMessage = cs.getString("login_message", null); discordID = cs.getString("discord_id", null); + tag = cs.getString("tag", null); } @Override @@ -106,6 +111,7 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable cs.set("last_login", FUtil.dateToString(lastLogin)); cs.set("login_message", loginMessage); cs.set("discord_id", discordID); + cs.set("tag", tag); } public boolean isAtLeast(Rank pRank) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_myadmin.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_myadmin.java index 38c3d83d..a80b8a2e 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_myadmin.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_myadmin.java @@ -13,7 +13,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.OP, source = SourceType.BOTH) -@CommandParameters(description = "Manage my admin entry", usage = "/ [-o ] | setlogin | clearlogin>") +@CommandParameters(description = "Manage my admin entry", usage = "/ [-o ] | setlogin | clearlogin | settag | cleartag>") public class Command_myadmin extends FreedomCommand { @@ -160,6 +160,27 @@ public class Command_myadmin extends FreedomCommand return true; } + case "settag": + { + FUtil.adminAction(sender.getName(), "Setting personal default tag" + (init == null ? "" : " for " + targetPlayer.getName()), false); + String tag = StringUtils.join(args, " ", 1, args.length); + target.setTag(tag); + msg((init == null ? "Your" : targetPlayer.getName() + "'s") + " default tag is now: " + FUtil.colorize(target.getTag())); + plugin.al.save(); + plugin.al.updateTables(); + return true; + } + + case "cleartag": + { + FUtil.adminAction(sender.getName(), "Clearing personal default tag" + (init == null ? "" : " for " + targetPlayer.getName()), false); + String tag = StringUtils.join(args, " ", 1, args.length); + target.setTag(null); + plugin.al.save(); + plugin.al.updateTables(); + return true; + } + default: { return false; diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_opall.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_opall.java index 6c25b53d..86957065 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_opall.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_opall.java @@ -8,7 +8,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH) -@CommandParameters(description = "Op everyone on the server, optionally change everyone's gamemode at the same time.", usage = "/ [-c | -s]") +@CommandParameters(description = "Op everyone on the server, optionally change everyone's gamemode at the same time.", usage = "/ [-c | -s | -a]") public class Command_opall extends FreedomCommand { @@ -31,6 +31,11 @@ public class Command_opall extends FreedomCommand doSetGamemode = true; targetGamemode = GameMode.SURVIVAL; } + else if (args[0].equals("-a")) + { + doSetGamemode = true; + targetGamemode = GameMode.ADVENTURE; + } } for (Player player : server.getOnlinePlayers()) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_setlimit.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_setlimit.java index 41426275..059840f4 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_setlimit.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_setlimit.java @@ -2,22 +2,36 @@ package me.totalfreedom.totalfreedommod.command; import me.totalfreedom.totalfreedommod.rank.Rank; import me.totalfreedom.totalfreedommod.util.FUtil; +import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH) -@CommandParameters(description = "Sets everyone's Worldedit block modification limit to the default.", usage = "/", aliases = "setl,swl") +@CommandParameters(description = "Sets everyone's Worldedit block modification limit to the default limit or to a custom limit.", usage = "/ [limit]", aliases = "setl,swl") public class Command_setlimit extends FreedomCommand { @Override public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - FUtil.adminAction(sender.getName(), "Setting everyone's Worldedit block modification limit to 2500.", true); + int amount = 2500; + if (args.length > 0) + { + try + { + amount = Math.max(1, Math.min(10000, Integer.parseInt(args[0]))); + } + catch (NumberFormatException ex) + { + msg("Invalid number: " + args[0], ChatColor.RED); + return true; + } + } + FUtil.adminAction(sender.getName(), "Setting everyone's Worldedit block modification limit to " + amount + ".", true); for (final Player player : server.getOnlinePlayers()) { - plugin.web.setLimit(player, 2500); + plugin.web.setLimit(player, amount); } return true; } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_stop.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_stop.java index c1d58b8a..0186fa1e 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_stop.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_stop.java @@ -2,13 +2,14 @@ package me.totalfreedom.totalfreedommod.command; import me.totalfreedom.totalfreedommod.rank.Rank; import me.totalfreedom.totalfreedommod.util.FUtil; +import org.apache.commons.lang3.StringUtils; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH) -@CommandParameters(description = "Kicks everyone and stops the server.", usage = "/") +@CommandParameters(description = "Kicks everyone and stops the server.", usage = "/ [reason]") public class Command_stop extends FreedomCommand { @@ -17,9 +18,16 @@ public class Command_stop extends FreedomCommand { FUtil.bcastMsg("Server is going offline!", ChatColor.LIGHT_PURPLE); + String reason = "Server is going offline, come back in about 20 seconds."; + + if (args.length > 0) + { + reason = StringUtils.join(args, " ", 0, args.length); + } + for (Player player : server.getOnlinePlayers()) { - player.kickPlayer("Server is going offline, come back in about 20 seconds."); + player.kickPlayer(reason); } server.shutdown(); diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_wipewarps.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_wipewarps.java index e17a1694..7d7a032d 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_wipewarps.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_wipewarps.java @@ -16,7 +16,7 @@ public class Command_wipewarps extends FreedomCommand @Override public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!server.getPluginManager().isPluginEnabled("Essentials")) + if (!plugin.esb.isEssentialsEnabled()) { msg("Essentials is not enabled on this server"); return true; diff --git a/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java b/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java index d9700080..97d5e93d 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/rank/RankManager.java @@ -114,6 +114,10 @@ public class RankManager extends FreedomService public void updateDisplay(Player player) { + if (!player.isOnline()) + { + return; + } FPlayer fPlayer = plugin.pl.getPlayer(player); if (plugin.al.isAdmin(player)) { @@ -190,6 +194,15 @@ public class RankManager extends FreedomService FUtil.bcastMsg(ChatColor.AQUA + player.getName() + " is " + loginMsg); plugin.pl.getPlayer(player).setTag(display.getColoredTag()); + if (isAdmin) + { + Admin admin = plugin.al.getAdmin(player); + if (admin.getTag() != null) + { + plugin.pl.getPlayer(player).setTag(FUtil.colorize(admin.getTag())); + } + } + String displayName = display.getColor() + player.getName(); try {