diff --git a/multichat/dependency-reduced-pom.xml b/multichat/dependency-reduced-pom.xml index 0652177d..daff753d 100644 --- a/multichat/dependency-reduced-pom.xml +++ b/multichat/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ 4.0.0 xyz.olivermartin.multichat multichat - 1.9-snapshot.20.5.1 + 1.9.2 @@ -23,6 +23,10 @@ com.zaxxer.hikari xyz.olivermartin.shadedlib.hikari + + org.slf4j + xyz.olivermartin.shadedlib.slf4j + @@ -276,6 +280,18 @@ + + com.github.MyzelYam + PremiumVanishAPI + 2.0.2 + provided + + + jsr305 + com.google.code.findbugs + + + diff --git a/multichat/pom.xml b/multichat/pom.xml index 6d60b031..42224962 100644 --- a/multichat/pom.xml +++ b/multichat/pom.xml @@ -5,7 +5,7 @@ xyz.olivermartin.multichat multichat - 1.9.1 + 1.9.2 @@ -58,6 +58,10 @@ com.zaxxer.hikari xyz.olivermartin.shadedlib.hikari + + org.slf4j + xyz.olivermartin.shadedlib.slf4j + @@ -90,6 +94,12 @@ 2.6.1 + + org.slf4j + slf4j-simple + 1.7.21 + + org.xerial sqlite-jdbc @@ -148,6 +158,13 @@ provided + + com.github.MyzelYam + PremiumVanishAPI + 2.0.2 + provided + + \ No newline at end of file diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java index af47b0ed..39d83a30 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChat.java @@ -37,11 +37,12 @@ */ public class MultiChat extends Plugin implements Listener { - public static final String LATEST_VERSION = "1.9.1"; + public static final String LATEST_VERSION = "1.9.2"; public static final String[] ALLOWED_VERSIONS = new String[] { LATEST_VERSION, + "1.9.1", "1.9", "1.8.2", "1.8.1", @@ -92,6 +93,10 @@ public class MultiChat extends Plugin implements Listener { private static MultiChat instance; + public static boolean premiumVanish = false; + public static boolean hideVanishedStaffInMsg = true; + public static boolean hideVanishedStaffInStaffList = true; + public static MultiChat getInstance() { return instance; } @@ -132,9 +137,10 @@ public void run() { if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { - getProxy(); for (ProxiedPlayer player : ProxyServer.getInstance().getPlayers()) { - BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + if (player.getServer() != null) { + BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + } } } @@ -170,7 +176,9 @@ public void run() { if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { ProxiedPlayer player = getProxy().getPlayer(playername); - BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + if (player.getServer() != null) { + BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + } } } catch (NullPointerException ex) { /* EMPTY */ } @@ -188,7 +196,9 @@ public void run() { if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { ProxiedPlayer player = getProxy().getPlayer(playername); - BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + if (player.getServer() != null) { + BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + } } } @@ -207,7 +217,9 @@ public void run() { if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { ProxiedPlayer player = getProxy().getPlayer(playername); - BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + if (player.getServer() != null) { + BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + } } @@ -226,7 +238,9 @@ public void run() { if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { ProxiedPlayer player = getProxy().getPlayer(playername); - BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + if (player.getServer() != null) { + BungeeComm.sendMessage(player.getName(), player.getServer().getInfo()); + } } @@ -348,6 +362,17 @@ public void onEnable() { // Fetch display names of all players fetchDisplayNames(); + // Manage premiumVanish dependency + if (ProxyServer.getInstance().getPluginManager().getPlugin("PremiumVanish") != null) { + premiumVanish = true; + + if (configYML.contains("premium_vanish")) { + hideVanishedStaffInMsg = configYML.getBoolean("premium_vanish.prevent_message"); + hideVanishedStaffInStaffList = configYML.getBoolean("premium_vanish.prevent_staff_list"); + } + + } + } else { getLogger().info("Config incorrect version! Please repair or delete it!"); } diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChatUtil.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChatUtil.java index 133c30af..70348788 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChatUtil.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/MultiChatUtil.java @@ -18,7 +18,11 @@ public static String getMessageFromArgs(String[] args, int start, int end) { String message = ""; for (String arg : args) { if (counter >= start && counter <= end) { - message = message + arg + " "; + if (counter != end) { + message = message + arg + " "; + } else { + message = message + arg; + } } counter++; } diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java index bd7b6814..89e3f53b 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/DisplayCommand.java @@ -6,7 +6,9 @@ import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Command; +import net.md_5.bungee.config.Configuration; import xyz.olivermartin.multichat.bungee.ChatControl; +import xyz.olivermartin.multichat.bungee.ConfigManager; import xyz.olivermartin.multichat.bungee.ConsoleManager; import xyz.olivermartin.multichat.bungee.MessageManager; import xyz.olivermartin.multichat.bungee.MultiChatUtil; @@ -45,9 +47,15 @@ public void execute(CommandSender sender, String[] args) { public static void displayMessage(String message) { message = ChatControl.applyChatRules(message, "display_command", "").get(); + Configuration config = ConfigManager.getInstance().getHandler("config.yml").getConfig(); for (ProxiedPlayer onlineplayer : ProxyServer.getInstance().getPlayers()) { - onlineplayer.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', message))); + if (onlineplayer.getServer() != null) { + if (!config.getStringList("no_global").contains( + onlineplayer.getServer().getInfo().getName())) { + onlineplayer.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', message))); + } + } } // Trigger PostBroadcastEvent diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java index a5abc966..22fc963c 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/MsgCommand.java @@ -4,6 +4,7 @@ import java.util.Optional; import java.util.Set; +import de.myzelyam.api.vanish.BungeeVanishAPI; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -15,6 +16,7 @@ import xyz.olivermartin.multichat.bungee.ConfigManager; import xyz.olivermartin.multichat.bungee.Events; import xyz.olivermartin.multichat.bungee.MessageManager; +import xyz.olivermartin.multichat.bungee.MultiChat; import xyz.olivermartin.multichat.bungee.MultiChatUtil; import xyz.olivermartin.multichat.bungee.PrivateMessageManager; @@ -54,24 +56,39 @@ public void execute(CommandSender sender, String[] args) { if ((sender instanceof ProxiedPlayer)) { - ProxiedPlayer player = (ProxiedPlayer)sender; - toggleresult = Events.togglePM(player.getUniqueId(), target.getUniqueId()); + boolean permittedToMessage = true; - if (toggleresult == true) { + if (MultiChat.premiumVanish && MultiChat.hideVanishedStaffInMsg) { + if (BungeeVanishAPI.isInvisible(target) && !sender.hasPermission("multichat.chat.msg.vanished")) { + permittedToMessage = false; + } + } + + if (permittedToMessage) { + + ProxiedPlayer player = (ProxiedPlayer)sender; + toggleresult = Events.togglePM(player.getUniqueId(), target.getUniqueId()); - Configuration config = ConfigManager.getInstance().getHandler("config.yml").getConfig(); + if (toggleresult == true) { - if (config.contains("toggle_pm") ? config.getBoolean("toggle_pm") == false : false) { + Configuration config = ConfigManager.getInstance().getHandler("config.yml").getConfig(); - toggleresult = Events.togglePM(player.getUniqueId(), target.getUniqueId()); - MessageManager.sendMessage(sender, "command_msg_no_toggle"); + if (config.contains("toggle_pm") ? config.getBoolean("toggle_pm") == false : false) { + + toggleresult = Events.togglePM(player.getUniqueId(), target.getUniqueId()); + MessageManager.sendMessage(sender, "command_msg_no_toggle"); + + } else { + MessageManager.sendSpecialMessage(sender, "command_msg_toggle_on", target.getName()); + } } else { - MessageManager.sendSpecialMessage(sender, "command_msg_toggle_on", target.getName()); + MessageManager.sendMessage(sender, "command_msg_toggle_off"); } } else { - MessageManager.sendMessage(sender, "command_msg_toggle_off"); + // Vanished staff member + MessageManager.sendMessage(sender, "command_msg_not_online"); } } else { @@ -120,30 +137,45 @@ public void execute(CommandSender sender, String[] args) { ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[0]); - if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { - - BungeeComm.sendMessage(sender.getName(), ((ProxiedPlayer)sender).getServer().getInfo()); - BungeeComm.sendMessage(target.getName(), target.getServer().getInfo()); + boolean permittedToMessage = true; + if (MultiChat.premiumVanish && MultiChat.hideVanishedStaffInMsg) { + if (BungeeVanishAPI.isInvisible(target) && !sender.hasPermission("multichat.chat.msg.vanished")) { + permittedToMessage = false; + } } - if (!ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_pm").contains(((ProxiedPlayer)sender).getServer().getInfo().getName())) { + if (permittedToMessage) { - if (!ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_pm").contains(target.getServer().getInfo().getName())) { + if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { - if (ChatControl.ignores(((ProxiedPlayer)sender).getUniqueId(), target.getUniqueId(), "private_messages")) { - ChatControl.sendIgnoreNotifications(target, sender, "private_messages"); - return; - } + BungeeComm.sendMessage(sender.getName(), ((ProxiedPlayer)sender).getServer().getInfo()); + BungeeComm.sendMessage(target.getName(), target.getServer().getInfo()); + + } + + if (!ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_pm").contains(((ProxiedPlayer)sender).getServer().getInfo().getName())) { + + if (!ConfigManager.getInstance().getHandler("config.yml").getConfig().getStringList("no_pm").contains(target.getServer().getInfo().getName())) { + + if (ChatControl.ignores(((ProxiedPlayer)sender).getUniqueId(), target.getUniqueId(), "private_messages")) { + ChatControl.sendIgnoreNotifications(target, sender, "private_messages"); + return; + } - PrivateMessageManager.getInstance().sendMessage(message, (ProxiedPlayer)sender, target); + PrivateMessageManager.getInstance().sendMessage(message, (ProxiedPlayer)sender, target); + + } else { + MessageManager.sendMessage(sender, "command_msg_disabled_target"); + } } else { - MessageManager.sendMessage(sender, "command_msg_disabled_target"); + MessageManager.sendMessage(sender, "command_msg_disabled_sender"); } } else { - MessageManager.sendMessage(sender, "command_msg_disabled_sender"); + // Vanished staff member + MessageManager.sendMessage(sender, "command_msg_not_online"); } } else if (args[0].equalsIgnoreCase("console")) { @@ -214,9 +246,17 @@ public Iterable onTabComplete(CommandSender sender, String[] args) { for ( ProxiedPlayer player : ProxyServer.getInstance().getPlayers() ) { if ( player.getName().toLowerCase().startsWith( search ) ) { + if (!Events.hiddenStaff.contains(player.getUniqueId())) { - matches.add( player.getName() ); + if (MultiChat.premiumVanish) { + if (!BungeeVanishAPI.isInvisible(player)) { + matches.add(player.getName()); + } + } else { + matches.add(player.getName()); + } } + } } diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java index b0b972b9..c3fc2ea8 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/bungee/commands/StaffListCommand.java @@ -2,6 +2,7 @@ import java.util.Iterator; +import de.myzelyam.api.vanish.BungeeVanishAPI; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.connection.ProxiedPlayer; @@ -9,6 +10,7 @@ import xyz.olivermartin.multichat.bungee.BungeeComm; import xyz.olivermartin.multichat.bungee.ConfigManager; import xyz.olivermartin.multichat.bungee.MessageManager; +import xyz.olivermartin.multichat.bungee.MultiChat; /** * Staff List Command @@ -38,27 +40,39 @@ public void execute(CommandSender sender, String[] args) { server = (String)localIterator1.next(); if (!ProxyServer.getInstance().getServerInfo(server).getPlayers().isEmpty()) { - + onServer = false; for (ProxiedPlayer onlineplayer2 : ProxyServer.getInstance().getPlayers()) { if ((onlineplayer2.hasPermission("multichat.staff"))) { - if (onlineplayer2.getServer().getInfo().getName().equals(server)) { + boolean showInList = true; - if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { - BungeeComm.sendMessage(onlineplayer2.getName(), onlineplayer2.getServer().getInfo()); + if (MultiChat.premiumVanish && MultiChat.hideVanishedStaffInStaffList) { + if (BungeeVanishAPI.isInvisible(onlineplayer2) && !sender.hasPermission("multichat.staff.list.vanished")) { + showInList = false; } + } + + if (showInList) { + + if (onlineplayer2.getServer().getInfo().getName().equals(server)) { + + if (ConfigManager.getInstance().getHandler("config.yml").getConfig().getBoolean("fetch_spigot_display_names") == true) { + BungeeComm.sendMessage(onlineplayer2.getName(), onlineplayer2.getServer().getInfo()); + } + + staff = true; + + if (!onServer) { + MessageManager.sendSpecialMessage(sender, "command_stafflist_list_server", server); + onServer = true; + } + + MessageManager.sendSpecialMessage(sender, "command_stafflist_list_item", onlineplayer2.getDisplayName()); - staff = true; - - if (!onServer) { - MessageManager.sendSpecialMessage(sender, "command_stafflist_list_server", server); - onServer = true; } - - MessageManager.sendSpecialMessage(sender, "command_stafflist_list_item", onlineplayer2.getDisplayName()); } } @@ -66,8 +80,8 @@ public void execute(CommandSender sender, String[] args) { } } - + if (!staff) MessageManager.sendMessage(sender, "command_stafflist_no_staff"); - + } } diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/commands/NickCommand.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/commands/NickCommand.java index 90eb2415..bdd6e8bc 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/commands/NickCommand.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/commands/NickCommand.java @@ -55,9 +55,46 @@ private boolean checkPermissions(MultiChatLocalPlayer targetPlayer, MultiChatLoc return false; } - if (lnm.containsFormatCodes(proposedNick) && !(sender.hasPermission("multichatlocal.nick.format"))) { - sender.sendBadMessage("You do not have permission to use nicknames with format codes!"); - return false; + if (lnm.containsFormatCodes(proposedNick)) { + + // If the nickname has ANY format codes... + + if (!sender.hasPermission("multichatlocal.nick.format")) { + + // If they don't have the permission for ALL format codes, then we will check individually... + + if (lnm.containsBoldFormatCodes(proposedNick) && !(sender.hasPermission("multichatlocal.nick.format.bold"))) { + sender.sendBadMessage("You do not have permission to use nicknames with bold format codes!"); + return false; + } + + if (lnm.containsItalicFormatCodes(proposedNick) && !(sender.hasPermission("multichatlocal.nick.format.italic"))) { + sender.sendBadMessage("You do not have permission to use nicknames with italic format codes!"); + return false; + } + + if (lnm.containsUnderlineFormatCodes(proposedNick) && !(sender.hasPermission("multichatlocal.nick.format.underline"))) { + sender.sendBadMessage("You do not have permission to use nicknames with underline format codes!"); + return false; + } + + if (lnm.containsStrikethroughFormatCodes(proposedNick) && !(sender.hasPermission("multichatlocal.nick.format.strikethrough"))) { + sender.sendBadMessage("You do not have permission to use nicknames with strikethrough format codes!"); + return false; + } + + if (lnm.containsObfuscatedFormatCodes(proposedNick) && !(sender.hasPermission("multichatlocal.nick.format.obfuscated"))) { + sender.sendBadMessage("You do not have permission to use nicknames with obfuscated format codes!"); + return false; + } + + if (lnm.containsResetFormatCodes(proposedNick) && !(sender.hasPermission("multichatlocal.nick.format.reset"))) { + sender.sendBadMessage("You do not have permission to use nicknames with reset format codes!"); + return false; + } + + } + } if (!simpleNickname.matcher(proposedNick).matches() && !(sender.hasPermission("multichatlocal.nick.special"))) { diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalNameManager.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalNameManager.java index 22b03b6a..c853f2f3 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalNameManager.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/common/storage/LocalNameManager.java @@ -302,4 +302,106 @@ public boolean containsFormatCodes(String input) { } + /** + * @param input + * @return True if the input contains bold format codes + */ + public boolean containsBoldFormatCodes(String input) { + + char COLOR_CHAR = '&'; + Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "L"); + + if (input == null) { + return false; + } + + return !STRIP_COLOR_PATTERN.matcher(input).replaceAll("").equals(input); + + } + + /** + * @param input + * @return True if the input contains italic format codes + */ + public boolean containsItalicFormatCodes(String input) { + + char COLOR_CHAR = '&'; + Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "O"); + + if (input == null) { + return false; + } + + return !STRIP_COLOR_PATTERN.matcher(input).replaceAll("").equals(input); + + } + + /** + * @param input + * @return True if the input contains underline format codes + */ + public boolean containsUnderlineFormatCodes(String input) { + + char COLOR_CHAR = '&'; + Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "N"); + + if (input == null) { + return false; + } + + return !STRIP_COLOR_PATTERN.matcher(input).replaceAll("").equals(input); + + } + + /** + * @param input + * @return True if the input contains strikethrough format codes + */ + public boolean containsStrikethroughFormatCodes(String input) { + + char COLOR_CHAR = '&'; + Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "M"); + + if (input == null) { + return false; + } + + return !STRIP_COLOR_PATTERN.matcher(input).replaceAll("").equals(input); + + } + + /** + * @param input + * @return True if the input contains obfuscated format codes + */ + public boolean containsObfuscatedFormatCodes(String input) { + + char COLOR_CHAR = '&'; + Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "K"); + + if (input == null) { + return false; + } + + return !STRIP_COLOR_PATTERN.matcher(input).replaceAll("").equals(input); + + } + + /** + * @param input + * @return True if the input contains reset format codes + */ + public boolean containsResetFormatCodes(String input) { + + char COLOR_CHAR = '&'; + Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "R"); + + if (input == null) { + return false; + } + + return !STRIP_COLOR_PATTERN.matcher(input).replaceAll("").equals(input); + + } + } diff --git a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java index 3905ac43..1246fa60 100644 --- a/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java +++ b/multichat/src/main/java/xyz/olivermartin/multichat/local/sponge/MultiChatLocalSpongePlugin.java @@ -56,7 +56,7 @@ import xyz.olivermartin.multichat.local.sponge.listeners.communication.LocalSpongePlayerChannelListener; import xyz.olivermartin.multichat.local.sponge.listeners.communication.LocalSpongePlayerMetaListener; -@Plugin(id = "multichat", name = "MultiChat", version = "1.9.1", dependencies = { @Dependency(id = "placeholderapi", optional = true) }) +@Plugin(id = "multichat", name = "MultiChat", version = "1.9.2", dependencies = { @Dependency(id = "placeholderapi", optional = true) }) public class MultiChatLocalSpongePlugin { @Inject diff --git a/multichat/src/main/resources/bungee.yml b/multichat/src/main/resources/bungee.yml index 0881bb66..d8ec0553 100644 --- a/multichat/src/main/resources/bungee.yml +++ b/multichat/src/main/resources/bungee.yml @@ -1,5 +1,6 @@ name: MultiChat main: xyz.olivermartin.multichat.bungee.MultiChat -version: 1.9.1 +version: 1.9.2 author: Revilo410 -api-version: 1.15 \ No newline at end of file +api-version: 1.15 +softdepends: [PremiumVanish] \ No newline at end of file diff --git a/multichat/src/main/resources/chatcontrol.yml b/multichat/src/main/resources/chatcontrol.yml index eab30011..ab884b80 100644 --- a/multichat/src/main/resources/chatcontrol.yml +++ b/multichat/src/main/resources/chatcontrol.yml @@ -8,7 +8,7 @@ ################## # DON'T EDIT # -version: "1.9.1" # +version: "1.9.2" # ################## # 1. Chat Control Rules diff --git a/multichat/src/main/resources/chatcontrol_fr.yml b/multichat/src/main/resources/chatcontrol_fr.yml index 9aebe17e..30647c3e 100644 --- a/multichat/src/main/resources/chatcontrol_fr.yml +++ b/multichat/src/main/resources/chatcontrol_fr.yml @@ -8,7 +8,7 @@ ################## # NE PAS EDITER # -version: "1.9.1" # +version: "1.9.2" # ################## # French Translation by Nogapra - Thank you ! diff --git a/multichat/src/main/resources/config.yml b/multichat/src/main/resources/config.yml index 821c46e6..7338a5c0 100644 --- a/multichat/src/main/resources/config.yml +++ b/multichat/src/main/resources/config.yml @@ -8,7 +8,7 @@ ################## # DON'T EDIT # -version: "1.9.1" # +version: "1.9.2" # ################## # 1. General @@ -265,3 +265,8 @@ privacy_settings: log_pms: true log_staffchat: true log_groupchat: true + +# Settings for PremiumVanish +premium_vanish: + prevent_message: true # Prevent players being able to /msg vanished staff + prevent_staff_list: true # Prevent vanished staff showing up in /staff diff --git a/multichat/src/main/resources/config_fr.yml b/multichat/src/main/resources/config_fr.yml index 173a3456..04f80bb1 100644 --- a/multichat/src/main/resources/config_fr.yml +++ b/multichat/src/main/resources/config_fr.yml @@ -8,7 +8,7 @@ ################## # NE PAS EDITER # -version: "1.9.1" # +version: "1.9.2" # ################## # French Translation by Nogapra - Thank you ! @@ -270,3 +270,8 @@ privacy_settings: log_pms: true log_staffchat: true log_groupchat: true + +# PremiumVanish +premium_vanish: + prevent_message: true # Bloquer l'utilisation de la commande /msg + prevent_staff_list: true # Masquer de la liste /staff diff --git a/multichat/src/main/resources/joinmessages.yml b/multichat/src/main/resources/joinmessages.yml index 4ed88219..13483a18 100644 --- a/multichat/src/main/resources/joinmessages.yml +++ b/multichat/src/main/resources/joinmessages.yml @@ -8,7 +8,7 @@ ################## # DON'T EDIT # -version: "1.9.1" # +version: "1.9.2" # ################## ############################################################ diff --git a/multichat/src/main/resources/joinmessages_fr.yml b/multichat/src/main/resources/joinmessages_fr.yml index d86ac5f3..d6f05a36 100644 --- a/multichat/src/main/resources/joinmessages_fr.yml +++ b/multichat/src/main/resources/joinmessages_fr.yml @@ -8,7 +8,7 @@ ################## # Ne pas éditer # -version: "1.9.1" # +version: "1.9.2" # ################## # French Translation by Nogapra - Thank you! diff --git a/multichat/src/main/resources/localconfig.yml b/multichat/src/main/resources/localconfig.yml index 4f883305..04f4baf4 100644 --- a/multichat/src/main/resources/localconfig.yml +++ b/multichat/src/main/resources/localconfig.yml @@ -8,7 +8,7 @@ ################## # DON'T EDIT # -version: "1.9.1" # +version: "1.9.2" # ################## # 1. Global Chat Settings diff --git a/multichat/src/main/resources/localconfig_fr.yml b/multichat/src/main/resources/localconfig_fr.yml index b08824fb..40670c36 100644 --- a/multichat/src/main/resources/localconfig_fr.yml +++ b/multichat/src/main/resources/localconfig_fr.yml @@ -8,7 +8,7 @@ ################## # NE PAS EDITER # -version: "1.9.1" # +version: "1.9.2" # ################## # French Translation by Nogapra - Thank you ! diff --git a/multichat/src/main/resources/messages.yml b/multichat/src/main/resources/messages.yml index 16ba2ab3..7b76a3f5 100644 --- a/multichat/src/main/resources/messages.yml +++ b/multichat/src/main/resources/messages.yml @@ -8,7 +8,7 @@ ################## # DON'T EDIT # -version: "1.9.1" # +version: "1.9.2" # ################## ############################################################ diff --git a/multichat/src/main/resources/messages_fr.yml b/multichat/src/main/resources/messages_fr.yml index 319b12d9..754c947a 100644 --- a/multichat/src/main/resources/messages_fr.yml +++ b/multichat/src/main/resources/messages_fr.yml @@ -8,7 +8,7 @@ ################## # DON'T EDIT # -version: "1.9.1" # +version: "1.9.2" # ################## # French Translation by Nogapra - Thank you! diff --git a/multichat/src/main/resources/plugin.yml b/multichat/src/main/resources/plugin.yml index 4d2f068c..80914ae5 100644 --- a/multichat/src/main/resources/plugin.yml +++ b/multichat/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: MultiChat -version: 1.9.1 +version: 1.9.2 author: Revilo410 main: xyz.olivermartin.multichat.local.spigot.MultiChatLocalSpigotPlugin softdepend: [Vault,PlaceholderAPI]