Problème d'action des d'inventaires

alphaice

Mineur de diamant
7 Décembre 2017
45
2
28
19
Bonsoir,
Je suis développeur sur un serveur, et je travail sur un plugin nommé AdminTools. Mon problème st le suivant, j'ai créer un inventaire, je n'ai pas fini tout le code, mais j'ai déjà un problème, l'action qui devrai se passer quand je clique sur les boutons ne se réalise pas (la fonction onClick ne se lance pas). Voici le lien du code de la commande: https://pastebin.com/VWVX29cP , merci d'avance.
 

alphaice

Mineur de diamant
7 Décembre 2017
45
2
28
19
Non, la fonction ne se lance pas. Je ne reçois aucun message d'erreur sur la console.
 
Dernière édition:

zephere

Massacreur de Mouton
6 Mai 2015
47
5
22
Alors j'ai résolu ton problème, je t'explique: tu a mis ta commande dans ta classe d’événement .Donc dans ton main écrit dans le onEnable:
getCommand("TA COMMANDE").setExecutor(new NomDeTaClasse());
puis met ta souris sur NomDeTaClasse et choisi de créer la classe, valide...
et voici enfin l'interieur de cette classe
@Override
public boolean onCommand(CommandSender sender, Command modo, String msg, String[] banToPlayer) {
Player player = (Player)sender;
if(sender instanceof Player) {
if (player.hasPermission("admintools.modo")) inventoryDefine(player);
else {
player.sendMessage("§e[AdminTools]§4Désolé, vous n'avez pas la permission.");
return true;
}
}
else {
sender.sendMessage("§e[AdminTools]§4Erreur: vous n'êtes pas un joueur !");
return true;
}
return false;
}
void inventoryDefine(Player player) {
player.sendMessage("§e[AdminTool]§4Ouverture de l'interface...");
Inventory menu = Bukkit.createInventory(null, 9, "§8Modération");
menu.setItem(0, getItem(Material.DIAMOND_SWORD, "Comportement"));
menu.setItem(1, getItem(Material.GOLDEN_APPLE, "Cheat"));
menu.setItem(2, getItem(Material.CHEST, "Chat"));
menu.setItem(8, getItem(Material.WOODEN_DOOR, "Quitter"));
player.openInventory(menu);
}
public ItemStack getItem(Material material, String customName) {
ItemStack it = new ItemStack(material, 1);
ItemMeta itM = it.getItemMeta();
if(customName != null) itM.setDisplayName(customName);
it.setItemMeta(itM);
return it;
}

}
pour finir enlève le onCommand et inventoryDefine de ta classe avec les events
 
Dernière édition:

Alex Fatta

Commandant de la Flotte et de la Horde
13 Août 2014
1 391
1
191
187
Bonjour !

Tu as oublié de register ton event dans ton onEnable. Rajoute ceci dans ton onEnable :
Code:
Bukkit.getServer().registerEvent(new TACLASSE());
Ou quelque chose comme ça ;)

AlexFatta