Plugin Récupérer un joueur dans toute une classe

  • Auteur de la discussion Auteur de la discussion Syrows
  • Date de début Date de début

Syrows

Développeur
7 Juillet 2016
137
20
130
23
Bonjour, je suis actuellement sur un plugin de report où je galère un peu. Je débute en java et je voudrais récupérer un joueur dans toute une classe. Je vous présente mon code et vous explique.

Code:
public class CommandReport implements CommandExecutor, Listener {

 public Inventory reportlist;
 public ArrayList<UUID> playerReport = new ArrayList<>();

 @Override
 public boolean onCommand(CommandSender sender, Command cmd, String msg, String[] args) {
 
  if(sender instanceof Player){
   Player p = (Player)sender;
   
   if(cmd.getName().equalsIgnoreCase("report")){
    if(args.length == 0 || args.length > 1){
     p.sendMessage("§3Pour report un joueur, utilisez §b/report <pseudo>");
    }
    if(args.length == 1){
     if(args[0].equalsIgnoreCase("list")){
     
      Inventory reportlist = Bukkit.createInventory(null, 54, "§aReport List");
      p.openInventory(reportlist);
     
     } else {
     Player target = Bukkit.getServer().getPlayer(args[0]);
     
     if(target == null){
      p.sendMessage("§cErreur: Ce joueur n'est pas connecté ou n'existe pas !");
      return true;
     }
     if(target != null){
     Inventory report = Bukkit.createInventory(null, 54, "§aReport " + ChatColor.GOLD + target.getName());
     
   
     
     p.openInventory(report);
     }
     }
    }
   }
  }
 
  return false;
 }
 @EventHandler
 public void onInventoryClick(InventoryClickEvent e){
  if(e.getInventory().getTitle().contains("§aReport") && e.getInventory().getSize() == 54){
   e.setCancelled(true);
  }
 }
}

Comme vous pouvez le voir, tout en bas, il y a un événement. Je voudrais en fait récupérer le Player target donc le pseudo du joueur de la commande dans cet événement. Problème, je ne peux pas le mettre en public ou private pour le récupérer dans toute la classe. J'espère que vous pourrez m'aider.
 
Bonjour !

Pour récupérer le joueur qui effectue l'action, tu met :
Code:
Player player = e.getPlayer();

AlexFatta
 
Bonjour !

Pour récupérer le joueur qui effectue l'action, tu met :
Code:
Player player = e.getPlayer();

AlexFatta
C'est pas vraiment ce que j'ai demandé... J'ai demandé de récupérer le joueur nommé target (qui se trouve dans la commande), dans l'événement. Merci mais ce n'était pas la réponse à ma question.