Ir para conteúdo

{Ajuda} StaffChat


Sousa42

Posts Recomendados

Estou desenvolvendo um plugin de StaffChat mas nao estou a ter sucesso

O problema é o seguinte

o player sem permissão consegue ver o chat da staff

Chat.java

Spoiler

package me.sousa42;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;


public class Chat implements Listener {
    
    public main plugin;
    
    public Chat(main pl) {
        
        this.plugin = pl;
        
    }
    
    @EventHandler
    public void onChat(AsyncPlayerChatEvent e) {
        
        e.setCancelled(true);
        
        Player p = e.getPlayer();
        
        String Prefix = ChatColor.translateAlternateColorCodes('&', "&8[&6Sc&8]");
        String msg = e.getMessage();
        
        if(Commands.Insc.contains(p)) {
                        
            for(Player staff : Bukkit.getServer().getOnlinePlayers()) {
                    
                if (p.hasPermission("Sousa42.ChatVer")) {
                        
                    staff.sendMessage(Prefix + " " + p.getDisplayName() + ChatColor.RED + " >> " + ChatColor.AQUA + msg);
                }
            }
        }
    }

}
 

Commands.java

Spoiler

package me.sousa42;

import java.util.ArrayList;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class Commands implements CommandExecutor {

    public main plugin;
    
    public Commands(main pl) {
        
        this.plugin = pl;
    }
    
    public static ArrayList<Player> Insc = new ArrayList<Player>();
    
    String Prefix = ChatColor.translateAlternateColorCodes('&', "&8[&2Sc&8] ");
    String Enabled = ChatColor.translateAlternateColorCodes('&', Prefix + "&6StaffChat foi &aAtivado");
    String Disabled = ChatColor.translateAlternateColorCodes('&', Prefix + "&6StaffChat foi &cDesativado");
    String NoPerm = ChatColor.translateAlternateColorCodes('&', "&cSem Permissão");
    
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String arg2, String[] args) {
        if(cmd.getName().equalsIgnoreCase("sc")) {
            
            if(!(sender instanceof Player)) {
                
                sender.sendMessage("§cEste comando não pode ser executado pela console!");
                
                return true;
            }
            
            Player p = (Player) sender;
            
            if(args.length == 0) {
                
                if(!(p.hasPermission("Sousa42.StaffChat"))) {
                    
                    p.sendMessage(NoPerm);
                    
                    return true;
                }
                
                if(Insc.contains(p)) {
                    
                    Insc.remove(p);
                    p.sendMessage(Disabled);
                    
                    return true;
                    
                } else
                    Insc.add(p);
                p.sendMessage(Enabled);
                
                return true;
            }
            
            if(args.length >= 1) {
                
                p.sendMessage(Prefix + ChatColor.GRAY + "Usage /sc");
                
                return true;
            }
        }
        return false;
    }

}
 

 

Editado por Sousa42
Link para o comentário
Compartilhar em outros sites

42 minutos atrás, Sousa42 disse:

for(Player staff : Bukkit.getServer().getOnlinePlayers()) {
                    
                if (p.hasPermission("Sousa42.ChatVer")) {

Tente usar: if(staff.hasPermission("Sousa")

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...