Message lors de la connexion à un serveur



  • Bonjour !

    Je souhaiterais vous demander de l'aide, une dernière fois concernant mon mod. Je désirerais afficher un message lors de la connexion du joueur sur mon serveur (Non, je ne révèlerai pas de quoi il s'agit ^^) qui permet simplement d'assurer la compatibilité mod/serveur/launcher. J'ai tenté ma méthode, qui fonctionne relativement bien (excepté le fait que le message est envoyé lorsque le joueur respawn et que cela fonctionne même si ce n'est pas mon serveur…), ce qui ne me convient pas du tout x) .

    Je vous remercie d'avance,
    EclipseOnFire.



  • tu fait comme ca:

    
    if(LivingDeathEvent event)
    {
    //on ne fait rien
    }
    else
    {
    if(EntityJoinWorldEvent event)
    {
    //ton message
    }
    }
    
    


  • @'isador34':

    tu fait comme ca:

    Heu oui, merci, mais je suis supposé mettre ça où ? x)



  • dans ta classe qui affiche le message


  • Administrateurs

    Ça fonctionnera pas ça x)

    Version de Minecraft ? Il n'y a pas la balise …



  • pourquoi cela ne fonctionnerai pas?



  • @'robin4002':

    Ça fonctionnera pas ça x)

    Version de Minecraft ? Il n'y a pas la balise …

    Oups, désolé, j'y pensais plus… 1.6.4 !


    @'isador34':

    pourquoi cela ne fonctionnerai pas?

    Ce ne sont pas des conditions les events ^^. Toutefois j'ai compris ce que tu voulais dire par là.



  • oui je me suis juste mal exprimé ^^


  • Administrateurs

    @'isador34':

    pourquoi cela ne fonctionnerai pas?

    Mais regarde 5 secondes ce que tu as envoyé :

    @'isador34':

    tu fait comme ca:

    
    if(LivingDeathEvent event)
    {
    //on ne fait rien
    }
    else
    {
    if(EntityJoinWorldEvent event)
    {
    //ton message
    }
    }
    
    
    1. Un event ne peut que être utilisé avec @ForgeSubscribe (en 1.6)
    2. Depuis quand tu fais une condition avec quelque chose qui n'est pas un boolean ?

    Et vous me faite chier à coder dans des versions obsolètes, je connais plus par coeur les méthodes, elles ont déjà été remplacés par les nouvelles dans ma tête, je suis obligé de lancé eclipse x). Ah non, c'est bon, Github

    https://github.com/FFMT/FFMT-libs/blob/1.2.1/common/fr/minecraftforgefrance/ffmtlibs/FFMTVersionChecker.java#L45
    -> classe principale, par contre ne mets pas d'argument dans le constructeur.
    https://github.com/FFMT/FFMT-libs/blob/1.2.1/common/fr/minecraftforgefrance/ffmtlibs/FFMTPlayerTracker.java#L22-L31
    -> Nouvelle classe, pareil ne prends pas le constructeur.
    Par contre ça va aussi te mettre le message en solo.



  • @'isador34':

    oui je me suis juste mal exprimé ^^

    Il eût été préférable :

    
    @ForgeSubscribe
    public void onEventSent(Event event){ //Méthode totalement invalide hein ^^.
    if(event instanceof EntityJoinEvent){
    //Suite ici
    }
    }
    
    

    Toutefois l'event EntityJoinEvent ne fonctionne pas pour mon cas puisque cela prend en compte les autres joueurs, les mobs, et les respawn xD. A moins d'y ajouter des conditions mais là justement, je sais pas comment procéder… 😕


  • Administrateurs

    @ForgeSubscribe
    public void onEntityJoinWorld(EntityJoinEvent event)
    {
    if(event.entity instanceof EntityPlayer)
    {
    EntityPlayer player = (EntityPlayer)event.entity;
    […]
    }
    }
    

    Pas compliqué.
    Sinon tu as mon message au dessus. (ÉDIT : enfin page 1, donc ça te fais deux solutions).



  • au risque de dire une connerie:

    
    @ForgeSubscribe
    public void onUpdate(LivingDeathEvent event, EntityJoinWorldEvent event1){ //Méthode totalement invalide hein ^^.
    if(event instanceof EntityDeathEvent){
    //Suite ici
    }
    else
    {
    if(event1 instanceof EntityJoinEvent)
    {
    afficher message;
    }
    }
    
    

    EDIT: ou tous simplement l'event LivingSpawnEvent


  • Administrateurs

    @'isador34':

    au risque de dire une connerie:

    
    @ForgeSubscribe
    public void onUpdate(LivingDeathEvent event, EntityJoinWorldEvent event1){ //Méthode totalement invalide hein ^^.
    if(event instanceof EntityDeathEvent){
    //Suite ici
    }
    else
    {
    if(event1 instanceof EntityJoinEvent)
    {
    afficher message;
    }
    }
    
    

    Crash direct, n'importe quel méthode ayant l'annotation @ForgeSubscribe doit être suivi d'un argument d'instance Event. Si l'argument n'est pas d'instance Event, crash, si il n'y a pas d'argument, crash, si il y en a deux, crash.



  • @'robin4002':

    Et vous me faite chier à coder dans des versions obsolètes, je connais plus par coeur les méthodes, elles ont déjà été remplacés par les nouvelles dans ma tête, je suis obligé de lancé eclipse x).

    Désolé x) Le serveur ne marche pas encore en 1.7.x, je dois encore attendre la sortie de mods ^^.

    @'robin4002':

    Ah non, c'est bon, Github

    Sauvés x)

    Ah d'accord ! Merci beaucoup ! Dernière chose : pour différencier le serveur dans lequel nous sommes ? (Juste comment avoir l'ip ça me suffit).



  • bha sur ton hébergeur tu as l'ip…



  • @'isador34':

    bha sur ton hébergeur tu as l'ip…

    (Cynisme complet) Ah je n'avais pas remarqué ! D'ailleurs j'attendais cette réponse pour me connecter à mon serveur ^^.
    Plus sérieusement, je parle de savoir à quel serveur le joueur s'est connecté !



  • a ok j'avais pas compris.., tu peut le faire en utilisan les packet ou le Tchat


  • Administrateurs

    Aucune idée pour ça 😕



  • @'robin4002':

    Aucune idée pour ça 😕

    Outch. Ok je vais essayer d'explorer Minecraft ^^.



  • eclipse ajoute moi sur skype je vait te montrer comment faire je l'ai deja fait pour mon serveur


Log in to reply