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.
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.
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.