Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.minplay.creativo.events;
- import com.intellectualcrafters.plot.object.Plot;
- import com.intellectualcrafters.plot.object.PlotPlayer;
- import net.md_5.bungee.api.ChatColor;
- import net.minplay.MinPlayAPI.MinPlayAPI;
- import net.minplay.MinPlayAPI.libs.CooldownLib;
- import net.minplay.creativo.Creativo;
- import org.bukkit.*;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- /**
- *
- * @author Doc
- */
- public class ChatEventManager implements Listener {
- private static final int COOLDOWNTIME = 3;
- private static final CooldownLib CHATCOOLDOWNS = new CooldownLib(COOLDOWNTIME);
- @EventHandler(priority = EventPriority.HIGH)
- public void onChatEvent(AsyncPlayerChatEvent event) {
- final Player player = event.getPlayer();
- if(event.getMessage().startsWith("!")) { //Mensaje global
- boolean hasCooldown = CHATCOOLDOWNS.hasCooldown(player.getUniqueId());
- if(hasCooldown && (!MinPlayAPI.isStaff(player.getUniqueId()) || !MinPlayAPI.isYT(player.getUniqueId()) )) { //Tiene cooldown
- //Borraremos los posibles recipientes
- event.getRecipients().stream().forEachOrdered((recipentPlayer) -> {
- event.getRecipients().remove(recipentPlayer);
- });
- long timeReaming = CHATCOOLDOWNS.getTimeReaming(player.getUniqueId());
- player.sendMessage(ChatColor.RED + "Debes esperar " + CooldownLib.formatTimeOfSec(timeReaming) + " para volver a utilizar el chat global");
- } else {
- CHATCOOLDOWNS.addCooldown(player.getUniqueId());
- //AÑADO TAG CHATGLOBAL
- }
- } else { //Mensaje local
- //Limpiamos la lista de gente que recibe el mensaje
- event.getRecipients().stream().forEachOrdered((recipentPlayer) -> {
- event.getRecipients().remove(recipentPlayer);
- });
- boolean playerInPlot = Creativo.getInstance().PlotAPI.isInPlot(player);
- if(!playerInPlot) {
- player.sendMessage(ChatColor.RED + "Debes estar en una parcela para poder enviar un mensaje");
- } else {
- Plot plot = Creativo.getInstance().PlotAPI.getPlot(player.getLocation());
- if(plot instanceof Plot) {
- for(PlotPlayer playerPlot : plot.getPlayersInPlot()) {
- event.getRecipients().add(Bukkit.getPlayer(playerPlot.getUUID()));
- }
- //AÑADO TAG DE CHATLOCAL
- } else {
- player.sendMessage(ChatColor.RED + "Ocurrio un problema, informe de este fallo en nuestro foro.");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement