LimboManager/src/main/java/wtf/beatrice/limbomanager/listeners/PlayerChatManager.java

34 lines
1.0 KiB
Java

package wtf.beatrice.limbomanager.listeners;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import wtf.beatrice.limbomanager.Cache;
import wtf.beatrice.limbomanager.LimboManager;
public class PlayerChatManager implements Listener
{
@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent event)
{
int coolDown = Cache.getConfiguration().getInt("chat.cool-down", 3);
if(coolDown < 1) return; // disable this feature if cooldown is 0 or negative.
Player player = event.getPlayer();
if(Cache.chatCooldown.contains(player))
{
player.sendMessage("Chat is limited in this server. Please wait.");
event.setCancelled(true);
return;
}
Cache.chatCooldown.add(player);
Bukkit.getScheduler().runTaskLater(LimboManager.getInstance(), () -> Cache.chatCooldown.remove(player), 20L * coolDown);
}
}