Advertisement
Doc94

event_localglobalmsg

Dec 5th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.01 KB | None | 0 0
  1. package net.minplay.creativo.events;
  2.  
  3. import com.intellectualcrafters.plot.object.Plot;
  4. import com.intellectualcrafters.plot.object.PlotPlayer;
  5. import net.md_5.bungee.api.ChatColor;
  6. import net.minplay.MinPlayAPI.MinPlayAPI;
  7. import net.minplay.MinPlayAPI.libs.CooldownLib;
  8.  
  9. import net.minplay.creativo.Creativo;
  10.  
  11. import org.bukkit.*;
  12.  
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.EventHandler;
  15. import org.bukkit.event.EventPriority;
  16.  
  17. import org.bukkit.event.Listener;
  18. import org.bukkit.event.player.AsyncPlayerChatEvent;
  19.  
  20. /**
  21.  *
  22.  * @author Doc
  23.  */
  24. public class ChatEventManager implements Listener {
  25.    
  26.     private static final int COOLDOWNTIME = 3;
  27.     private static final CooldownLib CHATCOOLDOWNS = new CooldownLib(COOLDOWNTIME);
  28.    
  29.     @EventHandler(priority = EventPriority.HIGH)
  30.     public void onChatEvent(AsyncPlayerChatEvent event) {
  31.         final Player player = event.getPlayer();
  32.        
  33.         if(event.getMessage().startsWith("!")) { //Mensaje global
  34.             boolean hasCooldown = CHATCOOLDOWNS.hasCooldown(player.getUniqueId());
  35.            
  36.             if(hasCooldown && (!MinPlayAPI.isStaff(player.getUniqueId()) || !MinPlayAPI.isYT(player.getUniqueId()) )) { //Tiene cooldown
  37.                 //Borraremos los posibles recipientes
  38.                 event.getRecipients().stream().forEachOrdered((recipentPlayer) -> {
  39.                     event.getRecipients().remove(recipentPlayer);
  40.                 });
  41.                 long timeReaming = CHATCOOLDOWNS.getTimeReaming(player.getUniqueId());
  42.                 player.sendMessage(ChatColor.RED + "Debes esperar " + CooldownLib.formatTimeOfSec(timeReaming) + " para volver a utilizar el chat global");
  43.             } else {
  44.                 CHATCOOLDOWNS.addCooldown(player.getUniqueId());
  45.                 //AÑADO TAG CHATGLOBAL
  46.             }
  47.            
  48.         } else { //Mensaje local
  49.             //Limpiamos la lista de gente que recibe el mensaje
  50.             event.getRecipients().stream().forEachOrdered((recipentPlayer) -> {
  51.                 event.getRecipients().remove(recipentPlayer);
  52.             });
  53.            
  54.             boolean playerInPlot = Creativo.getInstance().PlotAPI.isInPlot(player);
  55.            
  56.             if(!playerInPlot) {
  57.                 player.sendMessage(ChatColor.RED + "Debes estar en una parcela para poder enviar un mensaje");
  58.             } else {
  59.                 Plot plot = Creativo.getInstance().PlotAPI.getPlot(player.getLocation());
  60.                 if(plot instanceof Plot) {
  61.                     for(PlotPlayer playerPlot : plot.getPlayersInPlot()) {
  62.                         event.getRecipients().add(Bukkit.getPlayer(playerPlot.getUUID()));
  63.                     }
  64.                    
  65.                     //AÑADO TAG DE CHATLOCAL
  66.                    
  67.                 } else {
  68.                     player.sendMessage(ChatColor.RED + "Ocurrio un problema, informe de este fallo en nuestro foro.");
  69.                 }
  70.             }
  71.            
  72.         }
  73.        
  74.        
  75.     }
  76.    
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement