GlobalChatSuppressor/src/main/java/de/viper/globalchat/suppressor/GlobalChatSuppressor.java gelöscht

This commit is contained in:
2026-01-08 15:17:51 +00:00
parent d720f295f9
commit ef9154a89e

View File

@@ -1,79 +0,0 @@
package de.viper.globalchat.suppressor;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.messaging.PluginMessageListener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
public class GlobalChatSuppressor extends JavaPlugin implements PluginMessageListener, Listener {
private static final String CHANNEL = "global:control";
private final Set<UUID> suppressJoinQuit = new HashSet<>();
@Override
public void onEnable() {
getServer().getMessenger().registerIncomingPluginChannel(this, CHANNEL, this);
getServer().getMessenger().registerOutgoingPluginChannel(this, CHANNEL);
getServer().getPluginManager().registerEvents(this, this);
getLogger().info("GlobalChatSuppressor aktiviert!");
}
@Override
public void onDisable() {
getServer().getMessenger().unregisterIncomingPluginChannel(this, CHANNEL);
getServer().getMessenger().unregisterOutgoingPluginChannel(this, CHANNEL);
getLogger().info("GlobalChatSuppressor deaktiviert!");
}
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
if (!channel.equals(CHANNEL)) return;
try (DataInputStream in = new DataInputStream(new ByteArrayInputStream(message))) {
String subChannel = in.readUTF();
if ("suppress".equalsIgnoreCase(subChannel)) {
String uuidStr = in.readUTF();
UUID playerUUID = UUID.fromString(uuidStr);
suppressJoinQuit.add(playerUUID);
getLogger().info("Suppress für Spieler UUID: " + playerUUID + " aktiviert.");
// Entferne die Unterdrückung nach 2 Sekunden (synchron mit BungeeCord)
getServer().getScheduler().runTaskLater(this, () -> {
suppressJoinQuit.remove(playerUUID);
getLogger().info("Suppress für Spieler UUID: " + playerUUID + " entfernt.");
}, 40L); // 40 Ticks = 2 Sekunden
}
} catch (IOException e) {
e.printStackTrace();
}
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
if (suppressJoinQuit.contains(player.getUniqueId())) {
event.setJoinMessage(null);
getLogger().info("Join-Nachricht für " + player.getName() + " unterdrückt.");
suppressJoinQuit.remove(player.getUniqueId());
}
}
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();
if (suppressJoinQuit.contains(player.getUniqueId())) {
event.setQuitMessage(null);
getLogger().info("Quit-Nachricht für " + player.getName() + " unterdrückt.");
suppressJoinQuit.remove(player.getUniqueId());
}
}
}