src/main/java/de/viper/globalchat/GlobalChat.java aktualisiert

This commit is contained in:
2026-01-17 10:15:09 +00:00
parent 0f3a020591
commit 61dd21f317

View File

@@ -43,7 +43,7 @@ import java.util.regex.Pattern;
public class GlobalChat extends Plugin implements Listener {
private static final String CHANNEL_CONTROL = "global:control";
private static final String CHANNEL_CHAT = "global:chat"; // Kanal für Chat-Relay
private static final String CHANNEL_CHAT = "global:chat"; // Kanal für Chat-Relay (legacy)
private List<String> badWords = new ArrayList<>();
private File logFolder;
@@ -122,7 +122,7 @@ public class GlobalChat extends Plugin implements Listener {
@Override
public void onEnable() {
// Plugin channels registrieren
// Plugin channels registrieren (legacy, werden nicht mehr für Chat-Relay genutzt)
try {
getProxy().registerChannel(CHANNEL_CONTROL);
getProxy().registerChannel(CHANNEL_CHAT);
@@ -138,7 +138,7 @@ public class GlobalChat extends Plugin implements Listener {
if (!configFile.exists()) {
getLogger().info("bungee.yml nicht gefunden. Erstelle Standard...");
try (InputStream in = getResourceAsStream("bungee.yml")) {
Files.copy(in, configFile.toPath());
if (in != null) Files.copy(in, configFile.toPath());
} catch (IOException e) {
e.printStackTrace();
}
@@ -270,14 +270,10 @@ public class GlobalChat extends Plugin implements Listener {
// Global Broadcast Helper
// ===========================
private void broadcastGlobal(TextComponent component) {
String jsonMessage = ComponentSerializer.toString(component);
for (ServerInfo server : getProxy().getServers().values()) {
if (server.getPlayers().isEmpty()) continue;
try {
server.sendData(CHANNEL_CHAT, jsonMessage.getBytes(StandardCharsets.UTF_8));
} catch (Exception ex) {
getLogger().warning("Konnte Nachricht nicht an " + server.getName() + " senden.");
}
// KORREKTUR: Sende als System/Plugin-Nachricht an alle verbundenen Spieler.
// Damit bleibt die Anzeige identisch, aber es werden keine unsignierten Player-Chat-Pakete erzeugt.
for (ProxiedPlayer p : getProxy().getPlayers()) {
p.sendMessage(component);
}
}
@@ -352,7 +348,7 @@ public class GlobalChat extends Plugin implements Listener {
String chatOut = out.toString();
// NEU: Nachricht erstellen und an alle Server senden (via Helper)
// NEU: Nachricht erstellen und an alle Spieler senden (als Systemnachricht)
TextComponent chatComponent = new TextComponent(chatOut);
broadcastGlobal(chatComponent);
@@ -882,4 +878,4 @@ public class GlobalChat extends Plugin implements Listener {
catch (Exception e) { return null; }
return null;
}
}
}