I am getting a series of Console errors when ever i send a message in Chat. Basically i am trying to create a Chat cooldown Timer to avoid potential spam within Chat. Code:java public class MGChatCooldown implements Listener { public MGV2Main plugin; public MGChatCooldown(MGV2Main plugin) {this.plugin = plugin;} public MGChatCooldown() {} public static List<String> cooldown = new ArrayList<String>(); int cd = 5;int cdtimer = 5; @EventHandlerpublic void onCooldownChat(AsyncPlayerChatEvent e) {final Player p = e.getPlayer(); cd = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {public void run() {if (cdtimer != -1) {if (cdtimer != 0) {Bukkit.broadcast(ChatColor.RED+ "Chat Cooldown Debug.. processing.","Admin.Debug");cdtimer--;}else if (cdtimer == 4) {cooldown.add(p.getName());} else if (cdtimer == 0) {cooldown.remove(p.getName());Bukkit.getServer().getScheduler().cancelTask(cd);}}} }, 20, 100);} } Here are my console errors. Code: 14:53:16 [SEVERE] Could not pass event AsyncPlayerChatEvent to Minigames v2.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:459) at net.minecraft.server.v1_6_R3.PlayerConnection.chat(PlayerConnection.j ava:891) at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java :842) at net.minecraft.server.v1_6_R3.Packet3Chat.handle(SourceFile:49) at net.minecraft.server.v1_6_R3.NetworkManager.i(NetworkManager.java:213 ) at net.minecraft.server.v1_6_R3.NetworkManager.c(NetworkManager.java:351 ) at net.minecraft.server.v1_6_R3.NetworkReaderThread.run(SourceFile:94) Caused by: java.lang.NullPointerException at me.Listeners.Munnzeh.MGChatCooldown.onCooldownChat(MGChatCooldown.jav a:40) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:425) ... 9 more
You can use my CooldownManager if you want: http://snip.sweetcode.de/code/22 Example: Code: public class TheCore extends JavaPlugin implements Listener { private CooldownManager cooldownManager; @EventHandler public void onEnable() { Bukkit.getServer().getPluginManager().registerEvents(this, this); cooldownManager = new CooldownManager(5, Time.SECONDS); } @EventHandler public void onChat(AsyncPlayerChatEvent e) { if(!(cooldownManager.interact(e.getPlayer()))) { e.getPlayer().sendMessage("Please wait " + cooldownManager.timeLeft(e.getPlayer(), Time.SECONDS) + " Seconds"); e.setCancelled(true); return; } } }
Yonas I'm bookmarking that link. If I start making plugins again, that is going to be so ridiculously useful to me. >