Problème d'action des d'inventaires

Discussion dans 'Support serveur et plugins' créé par IceOrange92, 10 Février 2018.

Tags:
  1. IceOrange92

    IceOrange92 Mineur de diamant

    Inscrit:
    7 Décembre 2017
    Messages:
    24
    J'aime reçus:
    2
    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.
     
  2. zephere

    zephere Tondeur de moutons

    Inscrit:
    6 Mai 2015
    Messages:
    47
    J'aime reçus:
    5
    Bonjour, est-ce que le message "Initialisation..." est envoyé ?
     
  3. IceOrange92

    IceOrange92 Mineur de diamant

    Inscrit:
    7 Décembre 2017
    Messages:
    24
    J'aime reçus:
    2
    Non, la fonction ne se lance pas. Je ne reçois aucun message d'erreur sur la console.
     
    #3 IceOrange92, 11 Février 2018
    Dernière édition: 11 Février 2018
  4. zephere

    zephere Tondeur de moutons

    Inscrit:
    6 Mai 2015
    Messages:
    47
    J'aime reçus:
    5
    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
     
    #4 zephere, 11 Février 2018
    Dernière édition: 11 Février 2018
  5. IceOrange92

    IceOrange92 Mineur de diamant

    Inscrit:
    7 Décembre 2017
    Messages:
    24
    J'aime reçus:
    2
    #5 IceOrange92, 11 Février 2018
    Dernière édition: 11 Février 2018
  6. Alex Fatta

    Alex Fatta Commandant de la Flotte et de la Horde

    Inscrit:
    13 Août 2014
    Messages:
    1 270
    J'aime reçus:
    169
    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
     
  7. IceOrange92

    IceOrange92 Mineur de diamant

    Inscrit:
    7 Décembre 2017
    Messages:
    24
    J'aime reçus:
    2
    Merci Alex Fatta, sa marche super !
     
    Alex Fatta apprécie ceci.

Partager cette page