diff --git a/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java b/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java index 8d6d642d..72d947a3 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/ChatManager.java @@ -144,8 +144,7 @@ public class ChatManager extends FreedomService public ChatColor getColor(Displayable display) { - ChatColor color = display.getColor(); - return color; + return display.getColor(); } public String getColoredTag(Displayable display) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/SavedFlags.java b/src/main/java/me/totalfreedom/totalfreedommod/SavedFlags.java index 8a0cd287..4fd400f1 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/SavedFlags.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/SavedFlags.java @@ -27,7 +27,7 @@ public class SavedFlags extends FreedomService { Map flags = null; - File input = new File(TotalFreedomMod.plugin().getDataFolder(), SAVED_FLAGS_FILENAME); + File input = new File(TotalFreedomMod.getPlugin().getDataFolder(), SAVED_FLAGS_FILENAME); if (input.exists()) { try diff --git a/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java b/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java index 151f4d5d..30b543e1 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/admin/Admin.java @@ -140,7 +140,7 @@ public class Admin { this.active = active; - final TotalFreedomMod plugin = TotalFreedomMod.plugin(); + final TotalFreedomMod plugin = TotalFreedomMod.getPlugin(); if (!active) { diff --git a/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerEntry.java b/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerEntry.java index deb43964..8130b2f4 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerEntry.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerEntry.java @@ -40,7 +40,7 @@ public class CommandBlockerEntry { if (action == CommandBlockerAction.BLOCK_AND_EJECT && sender instanceof Player) { - TotalFreedomMod.plugin().ae.autoEject((Player)sender, "You used a prohibited command: " + command); + TotalFreedomMod.getPlugin().ae.autoEject((Player)sender, "You used a prohibited command: " + command); FUtil.bcastMsg(sender.getName() + " was automatically kicked for using harmful commands.", ChatColor.RED); return; } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerRank.java b/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerRank.java index 83e7bdf7..be0448c4 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerRank.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/blocking/command/CommandBlockerRank.java @@ -32,7 +32,7 @@ public enum CommandBlockerRank public static CommandBlockerRank fromSender(CommandSender sender) { - Admin admin = TotalFreedomMod.plugin().al.getAdmin(sender); + Admin admin = TotalFreedomMod.getPlugin().al.getAdmin(sender); if (admin != null) { if (admin.getRank() == Rank.SENIOR_ADMIN) 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 b8148bc9..b88434c0 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_myadmin.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_myadmin.java @@ -138,6 +138,7 @@ public class Command_myadmin extends FreedomCommand return true; } + case "setacformat": case "setscformat": { String format = StringUtils.join(args, " ", 1, args.length); @@ -150,6 +151,7 @@ public class Command_myadmin extends FreedomCommand return true; } + case "clearacformat": case "clearscformat": { target.setAcFormat(null); @@ -203,8 +205,8 @@ public class Command_myadmin extends FreedomCommand return Collections.emptyList(); } - List singleArguments = Arrays.asList("clearips", "setscformat"); - List doubleArguments = Arrays.asList("clearip", "clearscformat", "syncroles"); + List singleArguments = Arrays.asList("clearips", "setscformat", "setacformat"); + List doubleArguments = Arrays.asList("clearip", "clearscformat", "clearacformat", "syncroles"); if (args.length == 1) { List options = new ArrayList<>(); diff --git a/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java b/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java index 926aac8f..e597b9c6 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/config/ConfigEntry.java @@ -239,7 +239,7 @@ public enum ConfigEntry private MainConfig getConfig() { - return TotalFreedomMod.plugin().config; + return TotalFreedomMod.getPlugin().config; } public static ConfigEntry findConfigEntry(String name) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/discord/Discord.java b/src/main/java/me/totalfreedom/totalfreedommod/discord/Discord.java index bf62f31a..37d5464b 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/discord/Discord.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/discord/Discord.java @@ -167,7 +167,6 @@ public class Discord extends FreedomService public User getUser(String id) { Guild guild = bot.getGuildById(ConfigEntry.DISCORD_SERVER_ID.getString()); - if (guild == null) { FLog.severe("Either the bot is not in the Discord server or it doesn't exist. Check the server ID."); @@ -175,7 +174,6 @@ public class Discord extends FreedomService } Member member = guild.getMemberById(id); - if (member == null) { return null; diff --git a/src/main/java/me/totalfreedom/totalfreedommod/discord/DiscordToAdminChatListener.java b/src/main/java/me/totalfreedom/totalfreedommod/discord/DiscordToAdminChatListener.java index 169b9d43..134810f1 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/discord/DiscordToAdminChatListener.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/discord/DiscordToAdminChatListener.java @@ -1,8 +1,14 @@ package me.totalfreedom.totalfreedommod.discord; import me.totalfreedom.totalfreedommod.TotalFreedomMod; +import me.totalfreedom.totalfreedommod.admin.Admin; import me.totalfreedom.totalfreedommod.config.ConfigEntry; +import me.totalfreedom.totalfreedommod.rank.Displayable; +import me.totalfreedom.totalfreedommod.rank.Rank; +import me.totalfreedom.totalfreedommod.rank.Title; import me.totalfreedom.totalfreedommod.util.FLog; +import me.totalfreedom.totalfreedommod.util.FUtil; +import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; @@ -21,49 +27,109 @@ public class DiscordToAdminChatListener extends ListenerAdapter public void onMessageReceived(MessageReceivedEvent event) { String chat_channel_id = ConfigEntry.DISCORD_ADMINCHAT_CHANNEL_ID.getString(); - if (event.getMember() != null && !chat_channel_id.isEmpty() && event.getChannel().getId().equals(chat_channel_id)) + if (event.getMember() != null && !chat_channel_id.isEmpty() && event.getChannel().getId().equals(chat_channel_id) && !event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) { - if (!event.getAuthor().getId().equals(Discord.bot.getSelfUser().getId())) + Member member = event.getMember(); + String tag = dtml.getDisplay(member); + StringBuilder message = new StringBuilder(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_AQUA + "Discord" + ChatColor.DARK_GRAY + "] " + ChatColor.RESET); + Message msg = event.getMessage(); + for (Player player : Bukkit.getOnlinePlayers()) { - Member member = event.getMember(); - String tag = dtml.getDisplay(member); - StringBuilder message = new StringBuilder(ChatColor.DARK_GRAY + "[" + ChatColor.DARK_AQUA + "ADMIN" + ChatColor.DARK_GRAY + "]"); - Message msg = event.getMessage(); - if (tag != null) + if (TotalFreedomMod.getPlugin().al.isAdmin(player)) { - message.append(" ").append(tag); - } - message.append(" " + ChatColor.RED).append(ChatColor.stripColor(member.getEffectiveName())).append(ChatColor.DARK_GRAY).append(":").append(ChatColor.RESET); - ComponentBuilder builder = new ComponentBuilder(message.toString()); - if (!msg.getContentDisplay().isEmpty()) - { - builder.append(" ").append(ChatColor.stripColor(msg.getContentDisplay())); - message.append(" ").append(ChatColor.stripColor(msg.getContentDisplay())); // for logging - } - if (!msg.getAttachments().isEmpty()) - { - for (Message.Attachment attachment : msg.getAttachments()) + Admin admin = TotalFreedomMod.getPlugin().al.getAdmin(player); + String format = admin.getAcFormat(); + if (format != null) { - if (attachment.getUrl() == null) - { - continue; - } - builder.append(" "); - TextComponent text = new TextComponent(ChatColor.YELLOW + "[Media]"); - text.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, attachment.getUrl())); - builder.append(text); - message.append(" [Media]"); // for logging + Displayable display = TotalFreedomMod.getPlugin().rm.getDisplay(player); + net.md_5.bungee.api.ChatColor color = getColor(display); + String m = format.replace("%name%", member.getEffectiveName()) + .replace("%rank%", getDisplay(member)) + .replace("%rankcolor%", color.toString()) + .replace("%msg%", FUtil.colorize(msg.getContentDisplay())); + message.append(FUtil.colorize(m)); + } + else + { + String m = ChatColor.DARK_RED + member.getEffectiveName() + " " + + ChatColor.DARK_GRAY + tag + ChatColor.DARK_GRAY + + ChatColor.WHITE + ": " + ChatColor.GOLD + FUtil.colorize(msg.getContentDisplay()); + message.append(m); } } - for (Player player : Bukkit.getOnlinePlayers()) - { - if (TotalFreedomMod.getPlugin().al.isAdmin(player)) - { - player.spigot().sendMessage(builder.create()); - } - } - FLog.info(message.toString()); } + + ComponentBuilder builder = new ComponentBuilder(message.toString()); + if (!msg.getAttachments().isEmpty()) + { + for (Message.Attachment attachment : msg.getAttachments()) + { + if (attachment.getUrl() == null) + { + continue; + } + + TextComponent text = new TextComponent(ChatColor.YELLOW + "[Media]"); + text.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, attachment.getUrl())); + builder.append(text); + message.append("[Media]"); // for logging + } + } + + for (Player player : Bukkit.getOnlinePlayers()) + { + if (TotalFreedomMod.getPlugin().al.isAdmin(player)) + { + player.spigot().sendMessage(builder.create()); + } + } + FLog.info(message.toString()); + } + } + + public static net.md_5.bungee.api.ChatColor getColor(Displayable display) + { + return display.getColor(); + } + + // Needed to display tags in custom AC messages + public String getDisplay(Member member) + { + Guild server = Discord.bot.getGuildById(ConfigEntry.DISCORD_SERVER_ID.getString()); + // Server Owner + if (member.getRoles().contains(server.getRoleById(ConfigEntry.DISCORD_SERVER_OWNER_ROLE_ID.getString()))) + { + return Title.OWNER.getAbbr(); + } + // Developers + else if (member.getRoles().contains(server.getRoleById(ConfigEntry.DISCORD_DEVELOPER_ROLE_ID.getString()))) + { + return Title.DEVELOPER.getAbbr(); + } + // Executives + else if (member.getRoles().contains(server.getRoleById(ConfigEntry.DISCORD_EXECUTIVE_ROLE_ID.getString()))) + { + return Title.EXECUTIVE.getAbbr(); + } + // Senior Admins + else if (member.getRoles().contains(server.getRoleById(ConfigEntry.DISCORD_SENIOR_ADMIN_ROLE_ID.getString()))) + { + return Rank.SENIOR_ADMIN.getAbbr(); + } + // Admins + else if (member.getRoles().contains(server.getRoleById(ConfigEntry.DISCORD_NEW_ADMIN_ROLE_ID.getString()))) + { + return Rank.ADMIN.getAbbr(); + } + // Master Builders + else if (member.getRoles().contains(server.getRoleById(ConfigEntry.DISCORD_MASTER_BUILDER_ROLE_ID.getString()))) + { + return Title.MASTER_BUILDER.getAbbr(); + } + // OP, returning null breaks? + else + { + return Rank.OP.getAbbr(); } } } \ No newline at end of file diff --git a/src/main/java/me/totalfreedom/totalfreedommod/discord/PrivateMessageListener.java b/src/main/java/me/totalfreedom/totalfreedommod/discord/PrivateMessageListener.java index 9c82a81e..cd964ac4 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/discord/PrivateMessageListener.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/discord/PrivateMessageListener.java @@ -10,7 +10,7 @@ public class PrivateMessageListener extends ListenerAdapter { public void onPrivateMessageReceived(PrivateMessageReceivedEvent event) { - if (!event.getAuthor().getId().equals(Discord.bot.getSelfUser().getId())) + if (!event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) { // Handle link code if (event.getMessage().getContentRaw().matches("[0-9][0-9][0-9][0-9][0-9]")) @@ -24,12 +24,13 @@ public class PrivateMessageListener extends ListenerAdapter player.setDiscordID(event.getMessage().getAuthor().getId()); player.setVerification(true); - Admin admin = TotalFreedomMod.plugin().al.getEntryByName(name); + Admin admin = TotalFreedomMod.getPlugin().al.getEntryByName(name); if (admin != null) { Discord.syncRoles(admin, player.getDiscordID()); } - TotalFreedomMod.plugin().pl.save(player); + + TotalFreedomMod.getPlugin().pl.save(player); Discord.LINK_CODES.remove(code); } else diff --git a/src/main/java/me/totalfreedom/totalfreedommod/httpd/ModuleExecutable.java b/src/main/java/me/totalfreedom/totalfreedommod/httpd/ModuleExecutable.java index c008afdd..f0bd63d5 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/httpd/ModuleExecutable.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/httpd/ModuleExecutable.java @@ -29,7 +29,7 @@ public abstract class ModuleExecutable } // Sync to server thread - return Bukkit.getScheduler().callSyncMethod(TotalFreedomMod.plugin(), new Callable() + return Bukkit.getScheduler().callSyncMethod(TotalFreedomMod.getPlugin(), new Callable() { @Override public NanoHTTPD.Response call() throws Exception diff --git a/src/main/java/me/totalfreedom/totalfreedommod/permissions/PermissionEntry.java b/src/main/java/me/totalfreedom/totalfreedommod/permissions/PermissionEntry.java index eaedc006..08b16351 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/permissions/PermissionEntry.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/permissions/PermissionEntry.java @@ -36,6 +36,6 @@ public enum PermissionEntry private PermissionConfig getConfig() { - return TotalFreedomMod.plugin().permissions; + return TotalFreedomMod.getPlugin().permissions; } } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java b/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java index f780d7ac..deae4217 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/player/PlayerData.java @@ -86,12 +86,12 @@ public class PlayerData if (masterBuilder && !verification) { verification = true; - TotalFreedomMod.plugin().pl.save(this); + TotalFreedomMod.getPlugin().pl.save(this); } else if (!masterBuilder && discordID == null && verification) { this.verification = false; - TotalFreedomMod.plugin().pl.save(this); + TotalFreedomMod.getPlugin().pl.save(this); } } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/util/FSync.java b/src/main/java/me/totalfreedom/totalfreedommod/util/FSync.java index d1e39cad..191e0feb 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/util/FSync.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/util/FSync.java @@ -11,7 +11,7 @@ public class FSync public static void playerMsg(final Player player, final String message) { - final TotalFreedomMod plugin = TotalFreedomMod.plugin(); + final TotalFreedomMod plugin = TotalFreedomMod.getPlugin(); new BukkitRunnable() { @@ -26,7 +26,7 @@ public class FSync public static void playerMsg(final CommandSender sender, final String message) { - final TotalFreedomMod plugin = TotalFreedomMod.plugin(); + final TotalFreedomMod plugin = TotalFreedomMod.getPlugin(); new BukkitRunnable() { @@ -41,7 +41,7 @@ public class FSync public static void playerKick(final Player player, final String reason) { - final TotalFreedomMod plugin = TotalFreedomMod.plugin(); + final TotalFreedomMod plugin = TotalFreedomMod.getPlugin(); new BukkitRunnable() { @@ -56,7 +56,7 @@ public class FSync public static void adminChatMessage(final CommandSender sender, final String message) { - final TotalFreedomMod plugin = TotalFreedomMod.plugin(); + final TotalFreedomMod plugin = TotalFreedomMod.getPlugin(); new BukkitRunnable() { @@ -71,7 +71,7 @@ public class FSync public static void autoEject(final Player player, final String kickMessage) { - final TotalFreedomMod plugin = TotalFreedomMod.plugin(); + final TotalFreedomMod plugin = TotalFreedomMod.getPlugin(); new BukkitRunnable() { @@ -86,7 +86,7 @@ public class FSync public static void bcastMsg(final String message, final ChatColor color) { - final TotalFreedomMod plugin = TotalFreedomMod.plugin(); + final TotalFreedomMod plugin = TotalFreedomMod.getPlugin(); new BukkitRunnable() { diff --git a/src/main/java/me/totalfreedom/totalfreedommod/util/FUtil.java b/src/main/java/me/totalfreedom/totalfreedommod/util/FUtil.java index ac30c3a9..d0e375ce 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/util/FUtil.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/util/FUtil.java @@ -163,7 +163,7 @@ public class FUtil List names = new ArrayList<>(); for (Player player : Bukkit.getOnlinePlayers()) { - if (!TotalFreedomMod.plugin().al.isVanished(player.getName())) + if (!TotalFreedomMod.getPlugin().al.isVanished(player.getName())) { names.add(player.getName()); } diff --git a/src/main/java/me/totalfreedom/totalfreedommod/util/History.java b/src/main/java/me/totalfreedom/totalfreedommod/util/History.java index 42b1a4aa..efceb81d 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/util/History.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/util/History.java @@ -64,7 +64,7 @@ public class History FSync.playerMsg(sender, ChatColor.RED + "Player not found!"); } } - }.runTaskAsynchronously(TotalFreedomMod.plugin()); + }.runTaskAsynchronously(TotalFreedomMod.getPlugin()); } private static void printHistory(CommandSender sender, FName[] oldNames)