From 3ba41c18e7a000ffe140a45c9811c0ed2942e2a3 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Tue, 24 Feb 2026 14:00:41 +0100 Subject: [PATCH] feat: Update join/leave messages for Velocity network LoHub: - Changed join message to 'connected to hub' (Russian) - Changed quit message to 'left' (Russian) - Messages show only on actual join/leave, not server switches LoVelocity: - Added ServerSwitchListener - Velocity handles server switches silently - Backend servers (LoHub) show join/leave messages Result: Clean join/leave messages across the network --- lohub/src/main/resources/config.yml | 7 +++-- .../java/com/loki/lovelocity/LoVelocity.java | 6 ++++ .../listeners/ServerSwitchListener.java | 28 +++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 lovelocity/src/main/java/com/loki/lovelocity/listeners/ServerSwitchListener.java diff --git a/lohub/src/main/resources/config.yml b/lohub/src/main/resources/config.yml index c8eb24f..5e80b49 100644 --- a/lohub/src/main/resources/config.yml +++ b/lohub/src/main/resources/config.yml @@ -160,8 +160,11 @@ anti_swear: join_leave_messages: enabled: true - join_message: "BCB77+ &#FFD700%player% &#AAAAAAconnected" - quit_message: "&#FF6B6B- &#FFD700%player% &#AAAAAAdisconnected" + # Сообщение при подключении к хабу + # Пустая строка '' = не показывать сообщение + join_message: "BCB77+ &#FFD700%player% &#AAAAAAподключился к хабу" + # Сообщение при выходе с сервера (не при переключении на другой сервер) + quit_message: "&#FF6B6B- &#FFD700%player% &#AAAAAAвышел" join_events: - "[MESSAGE] &#FFD700╔═══════════════════════════════╗" diff --git a/lovelocity/src/main/java/com/loki/lovelocity/LoVelocity.java b/lovelocity/src/main/java/com/loki/lovelocity/LoVelocity.java index 6667201..2e0f0b0 100644 --- a/lovelocity/src/main/java/com/loki/lovelocity/LoVelocity.java +++ b/lovelocity/src/main/java/com/loki/lovelocity/LoVelocity.java @@ -38,6 +38,7 @@ public class LoVelocity { logger.info("Version: 1.5.5"); registerCommands(); + registerListeners(); } private void registerCommands() { @@ -51,6 +52,11 @@ public class LoVelocity { logger.info("Commands registered: /hub, /lobby"); } + private void registerListeners() { + server.getEventManager().register(this, new com.loki.lovelocity.listeners.ServerSwitchListener(this)); + logger.info("Listeners registered"); + } + public ProxyServer getServer() { return server; } diff --git a/lovelocity/src/main/java/com/loki/lovelocity/listeners/ServerSwitchListener.java b/lovelocity/src/main/java/com/loki/lovelocity/listeners/ServerSwitchListener.java new file mode 100644 index 0000000..601cd7c --- /dev/null +++ b/lovelocity/src/main/java/com/loki/lovelocity/listeners/ServerSwitchListener.java @@ -0,0 +1,28 @@ +package com.loki.lovelocity.listeners; + +import com.loki.lovelocity.LoVelocity; +import com.velocitypowered.api.event.PostOrder; +import com.velocitypowered.api.event.Subscribe; +import com.velocitypowered.api.event.connection.DisconnectEvent; +import com.velocitypowered.api.event.player.ServerConnectedEvent; + +public class ServerSwitchListener { + + private final LoVelocity plugin; + + public ServerSwitchListener(LoVelocity plugin) { + this.plugin = plugin; + } + + @Subscribe(order = PostOrder.LAST) + public void onServerConnected(ServerConnectedEvent event) { + // Velocity doesn't show join/leave messages by default + // They are handled by backend servers (Paper/Spigot) + } + + @Subscribe(order = PostOrder.LAST) + public void onDisconnect(DisconnectEvent event) { + // Velocity doesn't show join/leave messages by default + // They are handled by backend servers (Paper/Spigot) + } +}