Savoir si un joueur est dans un groupe de permissions



  • Bonsoir à tous!

    Je viens de finir mon mod qui est un panel d'administration pour mon serveur!
    Mais, juste pour la toute finalisation, je suis calé! 😞

    Je vous explique !

    Sur mon serveur, j'ai le groupe "Rebelle", "administrateurs" "modérateurs" et "fondateurs", et j'aimerai que seul les Admin, modos, et fondateurs puissent accéder a la touche 9 pour pouvoir ouvrir le panel d'administration!

    Je pense à tenter ce code, mais je ne suis pas sur que ça soit correct :

    ​if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile()))
    
            {
                keyBind = new KeyBinding("GuiAdmin.key", Keyboard.KEY_9, "key.categorie.gameplay");
                ClientRegistry.registerKeyBinding(keyBind);
                FMLCommonHandler.instance().bus().register(this);
            }
    

    Et si c'est correct, c'est pour les systèmes d'op, mais ça, personne ne le sera! Ils feront juste parti des groupes de permissions. Les admins et fondateurs auront les droits d'un op mais ne seront pas opped!

    Je vous demande donc si quelqu'un sait comment faire pour tester si un joueur fait parti d'un groupe de permissions venant du plugin GroupManager! 🙂 Et si c'est possible, bien sur!

    Cordialement,
    RageAgain



  • je pense qu'il faut passer par un packet custom pour obtenir le nom du grade, il te faudra un mod serveur obligatoirement pour pouvoir réceptionner le packet, l’interpréter, et renvoyer la valeur souhaité


  • Administrateurs

    if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile()))
    {
              keyBind = new KeyBinding("GuiAdmin.key", Keyboard.KEY_9, "key.categorie.gameplay");
             ClientRegistry.registerKeyBinding(keyBind);
             FMLCommonHandler.instance().bus().register(this);
    }
    Trouve le problème.

    Déjà la tu as un problème de side, il faudrait plutôt ajouter le bouton pour tout le monde (car de toute façon tu n'as pas le choix) et lorsqu'il appuie dessus envoyer un paquet. Ensuite côté serveur tu vérifies, si c'est bon tu renvois une réponse sinon non.

    Pour savoir si le joueur a une perm, tu as EntityPlayerMP.canUseCommand(0, commandName) qui peut éventuellement fonctionner, pas sûr.



  • Ahah oui, c'est vrai, j'avais même pas fait gaffe !

    Le problème, c'est que actuellement, moi et les paquets, c'est vraiment pas l'amour fou…... 😞


  • Administrateurs

    Si tout ce passe comme prévu je vais faire un tutoriel vidéo sur les paquets pendant ces vacances.



  • Si tu fais ca tu es mon Dieu! Ça serait vraiment utile car faire du copier coller sans rien comprendre au bout d'un moment c'est chiant surtout qu'on est dépendant 😞



  • OH MON DIEU! Quelles vacances?

    TU SERAIS MON DIEU AUSSI! ❤ 😄 Ca fait un moment que j'en cherche un!



  • J'ai lu je ne sais plus ou qu'il était en vacances lui là pour 2 semaines, moi je reprends lundi 😢


  • Administrateurs

    Celle-ci, je suis en vacance depuis hier.



  • Oooh génial! Je les termine moi 😞
    Bah, j'attendrais ton tutoriel dans ce cas!

    Merci beaucoup! 😉



  • Il y a des infos sur les paquets ici : http://www.minecraftforgefrance.fr/showthread.php?tid=1118
    S'il y a des points que vous ne comprenez pas, hésitez pas a répondre au thread avec vos questions.
    @RageAgain : Pense a me contacter dès que je suis co sur skype si tu veux des explications. Je suis pas co souvent, mais quand je le suis, je suis dispo 95% du temps 😉



  • Oui, dès que tu es co, je te sonne alors! car la plupart du temps quand tu te co, je suis occupé 😞



  • Au pire tu peux pas faire qu'il s'ouvre que si t'es en gamemode ? Ou sinon tu fais une extended proprietie boolean (on peut ?) ou int, et quand le player appuies sur la touche, ca check la proprietie (si true ok ou si 1 ok).



  • La vérification doit se faire coté serveur de toute manière.
    Donc la meilleur solution c'est celle énoncé par Robin.



  • Oui mais comme il ne sait pas utiliser les packets, je lui proposais une autre solution ^^



  • J'avoue que l'histoire du Gamemode, c'est pas mal!
    Merci en tout cas!
    Je verrai avec le tuto de Robin4002! Mais sinon, par défaut, je ferai un système de gamemode comme sosoh a dit! 🙂