From 4cf338bfb5584c392e5d99534807e9876e13fbc2 Mon Sep 17 00:00:00 2001 From: Lemon Date: Sat, 2 Jun 2018 03:39:52 +0500 Subject: [PATCH] add customization of admin format --- .../totalfreedommod/ChatManager.java | 32 +++++++++++-------- .../totalfreedommod/admin/Admin.java | 16 +++++++--- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java b/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java index 69134f96..934ef049 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java @@ -1,5 +1,6 @@ package me.totalfreedom.totalfreedommod; +import com.google.common.base.Strings; import me.totalfreedom.totalfreedommod.admin.Admin; import me.totalfreedom.totalfreedommod.player.FPlayer; import me.totalfreedom.totalfreedommod.rank.Displayable; @@ -106,22 +107,22 @@ public class ChatManager extends FreedomService event.setFormat(format); } - public String getOldPrefix(Displayable display) + public String getColoredTag(Admin admin, Displayable display) { ChatColor color = display.getColor(); - - if (color.equals(ChatColor.AQUA)) + if(admin.getOldTags()) { - color = ChatColor.GOLD; - } - else if (color.equals(ChatColor.GOLD)) - { - color = ChatColor.LIGHT_PURPLE; - } - String prefix = "(" + display.getAbbr() + ")"; - - return color + prefix; + if (color.equals(ChatColor.AQUA)) + { + color = ChatColor.GOLD; + } + else if (color.equals(ChatColor.GOLD)) + { + color = ChatColor.LIGHT_PURPLE; + } + } + return color + display.getAbbr(); } public void adminChat(CommandSender sender, String message) @@ -134,9 +135,12 @@ public class ChatManager extends FreedomService if (plugin.al.isAdmin(player)) { Admin admin = plugin.al.getAdmin(player); - if (admin.getOldAdminMode()) + if (!Strings.isNullOrEmpty(admin.getAcFormat())) { - player.sendMessage("[" + ChatColor.AQUA + "ADMIN" + ChatColor.WHITE + "] " + ChatColor.DARK_RED + sender.getName() + " " + getOldPrefix(display) + ChatColor.WHITE + ": " + ChatColor.AQUA + message); + String coloredTag = getColoredTag(admin, display); + String format = admin.getAcFormat(); + String msg = format.replace("%name%", sender.getName()).replace("%tag%", coloredTag).replace("%message%", message); + player.sendMessage(msg); } else { diff --git a/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java b/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java index 1aaefda2..caaa2b30 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java @@ -3,6 +3,7 @@ package me.totalfreedom.totalfreedommod.admin; import com.google.common.collect.Lists; import java.util.Date; import java.util.List; + import lombok.Getter; import lombok.Setter; import me.totalfreedom.totalfreedommod.LogViewer.LogsRegistrationMode; @@ -53,7 +54,10 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable private Boolean potionSpy = false; @Getter @Setter - private Boolean oldAdminMode = false; + private String acFormat = null; + @Getter + @Setter + private Boolean oldTags = null; public static final String CONFIG_FILENAME = "admins.yml"; @@ -81,7 +85,8 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable .append("- Rank: ").append(rank.getName()).append("\n") .append("- Is Active: ").append(active).append("\n") .append("- Discord ID: ").append(discordID).append("\n") - .append("- Tag: ").append(tag); + .append("- Tag: ").append(tag).append("\n") + .append("- Admin Chat Format:").append(acFormat); return output.toString(); } @@ -108,7 +113,9 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable tag = cs.getString("tag", null); commandSpy = cs.getBoolean("command_spy", false); potionSpy = cs.getBoolean("potion_spy", false); - oldAdminMode = cs.getBoolean("old_admin_mode", false); + acFormat = cs.getString("acformat", null); + oldTags = cs.getBoolean("oldtags", false); + } @Override @@ -125,7 +132,8 @@ public class Admin implements ConfigLoadable, ConfigSavable, Validatable cs.set("tag", tag); cs.set("command_spy", commandSpy); cs.set("potion_spy", potionSpy); - cs.set("old_admin_mode", oldAdminMode); + cs.set("acformat", acFormat); + cs.set("oldtags", oldTags); } public boolean isAtLeast(Rank pRank)