package xyz.etztech.serverapi.listeners; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import xyz.etztech.serverapi.ServerAPI; import xyz.etztech.serverapi.web.api.ChatAPI; import java.util.Date; public class AsyncPlayerChatListener implements Listener { private final ServerAPI plugin; public AsyncPlayerChatListener(ServerAPI plugin) { this.plugin = plugin; plugin.getServer().getPluginManager().registerEvents(this, plugin); } @EventHandler(priority= EventPriority.MONITOR, ignoreCancelled=true) public void onChat(AsyncPlayerChatEvent event) { int chatLimit = plugin.getConfig().getInt("chat", 100); if (ServerAPI.getChat().size() >= chatLimit) { ServerAPI.getChat().remove(0); } ServerAPI.getChat().add(new ChatAPI( String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage()), new Date().getTime() )); } }