ItemMenu~ *Shameless self-promotion*
Map<String,BukkitRunnable> runningCountdown=Collections.synchronizedMap(new HashMap<String,BukkitRunnable()); Set<String>...
getServer().getPluginManager().callEvent(new AsyncPlayerChatEvent(boolean async, Player who, String message, Set<Player> players)) Do you think...
You can't just open an inventory when an inventory has just closed, you'll have to wait. Try use ItemMenu, it solves such problems, grants a...
See if this works for you
I think that the event might be first triggered twice and then in the next tick, handled twice. Add an int and increase it in the end of the...
I'm not sure, try player.updateInventory() ?
Separate names with a comma.