diff --git a/chatcontrol-bukkit/pom.xml b/chatcontrol-bukkit/pom.xml index 6896321..6178661 100644 --- a/chatcontrol-bukkit/pom.xml +++ b/chatcontrol-bukkit/pom.xml @@ -11,7 +11,7 @@ chatcontrol-bukkit ChatControl - 11.1.3 + 11.1.4 org.mineacademy.chatcontrol.ChatControl diff --git a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/command/SharedChatControlCommandCore.java b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/command/SharedChatControlCommandCore.java index 15e3a69..a26dd77 100644 --- a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/command/SharedChatControlCommandCore.java +++ b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/command/SharedChatControlCommandCore.java @@ -390,15 +390,15 @@ public interface SharedChatControlCommandCore extends SharedBukkitCommandCore { default void updateProxyData(@NonNull final PlayerCache cache, @NonNull SimpleComponent message) throws CommandException { final Player messageTarget = cache.toPlayer(); - if (messageTarget != null && !message.isEmpty()) { - Messenger.info(messageTarget, message); + if (Settings.Proxy.ENABLED) { + if (messageTarget != null && !message.isEmpty()) { + Messenger.info(messageTarget, message); - message = SimpleComponent.empty(); - } + message = SimpleComponent.empty(); + } - if (Settings.Proxy.ENABLED) ProxyUtil.sendPluginMessage(ChatControlProxyMessage.DATABASE_UPDATE, Platform.getCustomServerName(), cache.getUniqueId(), cache.toDataSectionOfMap(), message); - + } } /** diff --git a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/AdventureChatListener.java b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/AdventureChatListener.java index c220ef0..3319ffd 100644 --- a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/AdventureChatListener.java +++ b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/AdventureChatListener.java @@ -14,7 +14,6 @@ import org.bukkit.plugin.IllegalPluginAccessException; import org.mineacademy.chatcontrol.model.Colors; import org.mineacademy.chatcontrol.settings.Settings; import org.mineacademy.fo.Common; -import org.mineacademy.fo.model.CompChatColor; import org.mineacademy.fo.model.SimpleComponent; import org.mineacademy.fo.platform.BukkitPlugin; @@ -90,11 +89,13 @@ public final class AdventureChatListener implements EventExecutor, Listener { @Override public void sendMessage(final Identity source, final Component message, final MessageType type) { - final String consoleFormat = this.state.getConsoleFormat(); + final String console = this.state.getConsoleFormat(); - if (consoleFormat != null) { - if (!SimpleComponent.fromMiniSection(consoleFormat).toPlain().trim().isEmpty() && !"none".equals(consoleFormat)) - Bukkit.getConsoleSender().sendMessage(CompChatColor.convertMiniToLegacy(consoleFormat)); + if (console != null) { + final SimpleComponent consoleComponent = SimpleComponent.fromMiniAmpersand(console); + + if (!consoleComponent.toPlain().trim().isEmpty() && !"none".equals(console)) + Bukkit.getConsoleSender().sendMessage(consoleComponent.toLegacySection()); } else Bukkit.getConsoleSender().sendMessage("<" + this.state.getPlayer().getName() + "> " + PlainTextComponentSerializer.plainText().serialize(message)); diff --git a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/LegacyChatListener.java b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/LegacyChatListener.java index f2ab2b8..e2da30f 100644 --- a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/LegacyChatListener.java +++ b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/listener/chat/LegacyChatListener.java @@ -9,7 +9,6 @@ import org.bukkit.plugin.EventExecutor; import org.bukkit.plugin.IllegalPluginAccessException; import org.mineacademy.chatcontrol.settings.Settings; import org.mineacademy.fo.Common; -import org.mineacademy.fo.model.CompChatColor; import org.mineacademy.fo.model.SimpleComponent; import org.mineacademy.fo.platform.BukkitPlugin; @@ -46,9 +45,10 @@ public final class LegacyChatListener implements EventExecutor, Listener { final String console = state.getConsoleFormat(); if (console != null) { - chatEvent.setFormat(CompChatColor.convertMiniToLegacy(console).replace("%", "%%")); + final SimpleComponent consoleComponent = SimpleComponent.fromMiniAmpersand(console); + chatEvent.setFormat(consoleComponent.toLegacySection().replace("%", "%%")); - if (SimpleComponent.fromMiniSection(console).toPlain().trim().isEmpty() || "none".equals(console)) + if (consoleComponent.toPlain().trim().isEmpty() || "none".equals(console)) chatEvent.setCancelled(true); } diff --git a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Channel.java b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Channel.java index 77d8991..21cc9a6 100644 --- a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Channel.java +++ b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Channel.java @@ -686,7 +686,7 @@ public final class Channel extends YamlConfig implements ConfigStringSerializabl // Log manually if not handled in player chat event if (!sender.isPlayer() && !"none".equals(consoleFormat)) - Platform.log(consoleFormat); + Platform.log(SimpleComponent.fromMiniAmpersand(consoleFormat).toLegacySection()); return state; } diff --git a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Placeholders.java b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Placeholders.java index 3ce8986..e2d0165 100644 --- a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Placeholders.java +++ b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/Placeholders.java @@ -330,6 +330,11 @@ public final class Placeholders extends SimpleExpansion { return playerCache == null ? "false" : String.valueOf(playerCache.hasToggledPartOff(toggleType)); } + // TODO merge with SyncedCache variables and remove duplicated code + + if (identifier.startsWith("player_is_ignoring_")) + return "Unknown '" + identifier + "' part. Available: " + Common.join(ToggleType.values()); + return null; } diff --git a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/ProxyChat.java b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/ProxyChat.java index 9f392bc..d324299 100644 --- a/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/ProxyChat.java +++ b/chatcontrol-bukkit/src/main/java/org/mineacademy/chatcontrol/model/ProxyChat.java @@ -131,6 +131,7 @@ public final class ProxyChat { final WrappedSender wrapped = WrappedSender.fromPlayerCaches(online, PlayerCache.fromCached(online), senderCache); loadAllSyncedData(wrapped); + onlinePlayerUniqueIds.add(wrapped.getUniqueId()); } } diff --git a/chatcontrol-bungeecord/pom.xml b/chatcontrol-bungeecord/pom.xml index 662f85f..948f2e9 100644 --- a/chatcontrol-bungeecord/pom.xml +++ b/chatcontrol-bungeecord/pom.xml @@ -11,7 +11,7 @@ chatcontrol-bungeecord BungeeControl - 4.1.3 + 4.1.4 org.mineacademy.chatcontrol.bungee.BungeeControl diff --git a/chatcontrol-core/src/main/java/org/mineacademy/chatcontrol/SyncedCache.java b/chatcontrol-core/src/main/java/org/mineacademy/chatcontrol/SyncedCache.java index 889352d..db45058 100644 --- a/chatcontrol-core/src/main/java/org/mineacademy/chatcontrol/SyncedCache.java +++ b/chatcontrol-core/src/main/java/org/mineacademy/chatcontrol/SyncedCache.java @@ -699,7 +699,7 @@ public final class SyncedCache { final String name = cache != null ? cache.getPlayerName() : fallbackName; final String nick = cache != null ? cache.getNameOrNickColoredPrefixed() : fallbackName; - return CommonCore.newHashMap( + final Map variables = CommonCore.newHashMap( prefix + "_name", name, prefix + "_nick", nick, prefix + "_group", cache != null ? cache.getGroup() : "", @@ -707,8 +707,16 @@ public final class SyncedCache { prefix + "_suffix", cache != null ? cache.getSuffix() : "", prefix + "_server", cache != null ? cache.getServerName() : "", prefix + "_channels", cache == null || cache.getChannels().isEmpty() ? Lang.plain("part-none") : CommonCore.join(cache.getChannels().keySet()), - prefix + "_afk", cache != null && cache.isAfk() ? "true" : "false", - prefix + "_ignoring_pms", cache != null && cache.hasToggledPartOff(ToggleType.PRIVATE_MESSAGE) ? "true" : "false", - prefix + "_vanished", cache != null && cache.isVanished() ? "true" : "false"); + prefix + "_is_afk", cache != null && cache.isAfk() ? "true" : "false", + prefix + "_is_vanished", cache != null && cache.isVanished() ? "true" : "false"); + + for (final ToggleType part : ToggleType.values()) { + final String value = cache != null && cache.hasToggledPartOff(part) ? "true" : "false"; + + variables.put(prefix + "_is_ignoring_" + part.name().toLowerCase(), value); + variables.put(prefix + "_is_ignoring_" + part.name().toLowerCase() + "s", value); + } + + return variables; } } diff --git a/chatcontrol-velocity/pom.xml b/chatcontrol-velocity/pom.xml index 061f47e..2ffbcb8 100644 --- a/chatcontrol-velocity/pom.xml +++ b/chatcontrol-velocity/pom.xml @@ -11,7 +11,7 @@ chatcontrol-velocity VelocityControl - 2.1.3 + 2.1.4 org.mineacademy.chatcontrol.velocity.VelocityControl