diff --git a/GlobalChatSuppressor/src/main/java/de/viper/globalchat/suppressor/GlobalChatSuppressor.java b/GlobalChatSuppressor/src/main/java/de/viper/globalchat/suppressor/GlobalChatSuppressor.java deleted file mode 100644 index 53117e4..0000000 --- a/GlobalChatSuppressor/src/main/java/de/viper/globalchat/suppressor/GlobalChatSuppressor.java +++ /dev/null @@ -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 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()); - } - } -} \ No newline at end of file