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