Condition VRAI? non respecter…



  • Salut Salut !

    Je reviens apres une longue absence ! En espérant que vous aller bien tous 😃

    J'ai repris le modding forge il y a 2 ou 3 jours, et je viens vers vous aujourd'hui pour un truc… tout bête >< Je n'ai aucune idée du pourquoi la condition est mal executer sachant que les condition pour être excité sont bonne...

    Voici le boue de code en question

        if (otherID == playerID)
            {
                player.addChatComponentMessage(new ChatComponentText(" <cl4p-tr4p>Oui ?"));
            }
    
            else
            {
                if (playerID != null && PlayerItem != null && PlayerItem.getItem() == Mod.codekey)
                    {
    
                        player.addChatComponentMessage(new ChatComponentText(" <cl4p-tr4p>Ok Sbire !"));
                    }
    
                else if (playerID != null)
                    {
                        player.addChatComponentMessage(new ChatComponentText(" <cl4p-tr4p>Salut ! Je suis le Clap Trap de "+playerName+" !"));
                    }
                else
                    {
                        player.addChatComponentMessage(new ChatComponentText(" <cl4p-tr4p>Salut, je suis un Clap Trap !"));
                    }
            }
    

    S'il n'a pas de proprio, il dit "Salut, je suis un clap trap !" < OK
    s'il a un proprio, il dit "Salut, je suis le clap trap de <pseudo>!" < OK
    S'il n'a pas de proprio et que tu clique dessus avec une codeKey il dit "OK sbire !" < OK

    Si le proprio clic sur son clap trap (d'où le playerID == otherID) alors il dit "Oui ?" < PAS OK

    Je stock le playerID (UUID) lors du clic avec le codeKey, le otherID (UUID aussi), lui est stocker quand tu y clic dessus.

    dans le println, les UUID sont bien identique, et il ne dit pas "Oui ?"

    Je ne comprend pas vraiment pourquoi... Car du coup, le proprio ne peu pas lui assigner de comportement, c'est embêtant ><

    Cordialement.</pseudo></cl4p-tr4p></cl4p-tr4p></cl4p-tr4p></cl4p-tr4p>



  • Essaie de comparer autrement les UUID, regarde comment fait Minecraft car je crois qu'on peut pas les comparés avec un simple signe double égal



  • Ha crotte >< Bah je vais essayer avec le getDisplayName alors ><

    EDIT : Yep, c'est bon, par contre a ma deco/reco, la phrase "Oui ?" saute et repasse a "Salut, je suis le clap trap de …" ><


  • Administrateurs

    otherID.equals(playerID)


  • Modérateurs

    Pour compléter la réponse de robin, Object::equals(Object) vérifie que deux objets sont égaux, en fonction de leur implémentation.
    Cependant == ne vérifie que la référence pour des objets, c'est-à-dire qu'il vérifie que les deux objets sont les mêmes, et non égaux. En gros == vérifie que les deux côtes du signe soit EXACTEMENT le même objet.
    En espérant que ce soit plus clair 🙂

    Sent from my GT-I9000 using Tapatalk 2



  • Merci Robin pour la "réponse"
    Merci jglrxavpok (Merci le copier/coller) pour les explication 😉