package net.mc_pandacraft.java.plugin.pandacraftutils.antispam; import net.mc_pandacraft.java.plugin.pandacraftutils.PandacraftUtils; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; public class AntispamManager implements Listener { private AntispamPlayer[] aPlayers; private PandacraftUtils plugin; public AntispamManager(PandacraftUtils pl) { plugin = pl; plugin.getServer().getPluginManager().registerEvents(this, plugin); aPlayers = new AntispamPlayer[plugin.getServer().getMaxPlayers()]; // analyse des joueurs déjà en ligne (/reload) for (Player p : plugin.getServer().getOnlinePlayers()) onPlayerJoin(new PlayerJoinEvent(p, "")); // simule l'évènement d'arrivé d'un joueur, pour le rajouter } @EventHandler(priority=EventPriority.HIGHEST) public void onAsyncPlayerChat(AsyncPlayerChatEvent event) { try { getAPlayer(event.getPlayer()).onAsyncPlayerChat(event); } catch (NullPointerException e) { } } @EventHandler(priority=EventPriority.HIGH) public void onPlayerCommandPreprocess (PlayerCommandPreprocessEvent event) { try { getAPlayer(event.getPlayer()).onPlayerCommandPreprocess(event); } catch (NullPointerException e) { } } public AntispamPlayer getAPlayer(Player p) { if (p == null || !p.isOnline()) return null; for (AntispamPlayer ap : aPlayers) { if (ap != null && ap.getPlayer() == p) return ap; } return null; } @EventHandler public void onPlayerJoin (PlayerJoinEvent event) { int i=0; while (i