Facebook
From DrBooker, 6 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 227
  1. package me.drbooker.bookchat.listener;
  2.  
  3. import me.drbooker.bookchat.Main;
  4. import me.drbooker.bookchat.data.Settings;
  5. import java.util.Locale;
  6. import java.util.Map;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.event.EventHandler;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.event.player.AsyncPlayerChatEvent;
  11.  
  12. public class AsyncPlayerChatListener
  13.         implements Listener
  14. {
  15.         @EventHandler
  16.         public void onEvent(AsyncPlayerChatEvent e)
  17.         {
  18.                 if (e.isCancelled()) {
  19.                         return;
  20.                 }
  21.                 if (!e.getPlayer().hasPermission("bookchat.bypass"))
  22.                 {
  23.                         if (!Main.getInst().chatOn)
  24.                         {
  25.                                 e.getPlayer().sendMessage(Settings.getInst().msgChatDisabled);
  26.                                 e.setCancelled(true);
  27.                                 return;
  28.                         }
  29.                         if (Main.getInst().chatInterval.containsKey(e.getPlayer().getUniqueId()))
  30.                         {
  31.                                 long expires = ((Long)Main.getInst().chatInterval.get(e.getPlayer().getUniqueId())).longValue() + Settings.getInst().chatInterval * 50;
  32.                                 if (expires > System.currentTimeMillis())
  33.                                 {
  34.                                         e.getPlayer().sendMessage(Settings.getInst().msgChatInterval
  35.                                                 .replace("%inter%", String.format(Locale.US, "%.1f", new Object[] { Double.valueOf(Settings.getInst().chatInterval / 20.0D) }))
  36.                                                 .replace("%rem%", String.format(Locale.US, "%.1f", new Object[] { Double.valueOf((expires - System.currentTimeMillis()) / 1000.0D) })));
  37.                                        
  38.                                         e.setCancelled(true);
  39.                                         return;
  40.                                 }
  41.                         }
  42.                         Main.getInst().chatInterval.put(e.getPlayer().getUniqueId(), Long.valueOf(System.currentTimeMillis()));
  43.                 }
  44.         }
  45. }
  46.