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
{