• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Pop/depop d'une entité via deco/reco player

    1.7.x
    1.7.10
    5
    17
    1977
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Kujaroth
      Kujaroth dernière édition par

      Salut !

      J’aimerai faire en sorte que quand le joueur deco, l’entité qui lui est liée (Clap-Trap) “déconnecte” lui aussi, puis qu’il réaparait a ça position lors de la reco du joueur.

      Je sais déja que la détection de deco/reco se fait via event forge, le soucis reste l’entité…

      Je présume que je dois enregistrer la pos x,y,z de l’entité, qui servira pour la position de reconnexion, mais comment dois-je procédé ?

      si j’utilise la commande despawnEntity(), elle perd les propriété accumulé et ce qu’elle a d’équipe. Ce qui risque d’être assez problématique.

      Est ce possible déjà ? Si oui, quel piste a suivre ? Je dois stocker tout dans un packet ?

      Merci.

      EDIT :

      Sinon, est ce qu’une téléportation + invincible dans une zone suffit ? A la deco, l’entité va dans un endroit precis en invincible et a la reco elle reviens a ça place en vulnérable.

      Qu’elle serai le mieux ?

      >! Bonjour/Bonsoir,
      >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

      1 réponse Dernière réponse Répondre Citer 0
      • Folgansky
        Folgansky Correcteurs dernière édition par

        Et si tu faisais un item qui permettrait de stocker l’entité dans l’inventaire du joueur?

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

          Faudrait mettre toutes les données de l’entité dans le tag nbt du joueur.

          1 réponse Dernière réponse Répondre Citer 0
          • Kujaroth
            Kujaroth dernière édition par

            "Et si tu faisais un item qui permettrait de stocker l’entité dans l’inventaire du joueur? "

            Ouai, mais si le mec déco, il perd sont clap trap ^^’

            "Faudrait mettre toutes les données de l’entité dans le tag nbt du joueur. "

            Ok, voici le code sur mon entité :

            @Override
            public void writeToNBT(NBTTagCompound compound)
            {
            super.writeToNBT(compound);
            
            DataWatcher dw = this.getDataWatcher();
            
            compound.setString("playerID", this.playerID);
            compound.setString("playerName", this.playerName);
            compound.setString("otherID", this.otherID);
            compound.setInteger("color", dw.getWatchableObjectInt(20));
            compound.setInteger("etat", dw.getWatchableObjectInt(21));
            compound.setBoolean("owner", this.owner);
            
            }
            @Override
            public void readFromNBT(NBTTagCompound compound)
            {
            super.readFromNBT(compound);
            
            DataWatcher dw = this.getDataWatcher();
            
            this.playerID = compound.getString("playerID");
            this.playerName = compound.getString("playerName");
            this.otherID = compound.getString("otherID");
            dw.updateObject(20, compound.getInteger("color"));
            dw.updateObject(21, compound.getInteger("etat"));
            this.owner = compound.getBoolean("owner");
            }
            

            Dois-je faire ça ici, ou créer une classe qui permet de transférer tout ça ?

            (Je debute avec les nbt)

            >! Bonjour/Bonsoir,
            >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

            1 réponse Dernière réponse Répondre Citer 0
            • Folgansky
              Folgansky Correcteurs dernière édition par

              Ah désolé, un clap-trap je ne connais pas.

              De mon côté j’ai un item pour faire spawn l’entité et un autre pour tuer l’entité et récupérer l’item qui sert à le faire spawn.
              Ma façon de stocker après c’est adapté à mon utilisation, bref je laisse faire ceux qui en savent plus long que moi 😃

              1 réponse Dernière réponse Répondre Citer 0
              • Deleted
                Deleted dernière édition par

                robin te conseille de mettre tous les tag NBT actuels de ton entity dans celui du joueur, donc regarde le tuto des ExtProp, ça t’aidera !

                1 réponse Dernière réponse Répondre Citer 0
                • Ama
                  Ama dernière édition par

                  Dois y avoir plus simple

                  genre elle doit être tamed donc elle est liée au joueur,

                  donc simplement, tu la rend invisible et invulnérable à tout (quand le joueur déco) puis inversement dans le joueur est présent/reconnecté

                  Si je t'ai filé un coup de main n'oublie pas le + / -
                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                  1 réponse Dernière réponse Répondre Citer 0
                  • Kujaroth
                    Kujaroth dernière édition par

                    donc un truc du genre

                    si tamed et proprio n’est pas la

                    • invulnerable
                    • invincible

                    et ce, dans le mob. Plus qu’a chercher le “proprio n’est pas la”

                    >! Bonjour/Bonsoir,
                    >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                    1 réponse Dernière réponse Répondre Citer 0
                    • Deleted
                      Deleted dernière édition par

                      Bah pour voir si une entity n’est pas dans le monde (Joueur ou pas), c’est facile tu regardes si elle est null ^^
                      Du mois je pense, c’est ce que j’aurai fait…

                      1 réponse Dernière réponse Répondre Citer 0
                      • Kujaroth
                        Kujaroth dernière édition par

                        Ouai, pas faux…

                        
                        if (!worldObj.isRemote && playerID != null)
                        {
                        if (worldObj.getPlayerEntityByName(playerName) != null)
                        {
                        this.setInvisible(false);
                        System.out.println("la");
                        
                        }
                        else
                        {
                        this.setInvisible(true);
                        System.out.println("pas la");
                        }
                        }
                        

                        Et le tour est joué ! ^^'…

                        >! Bonjour/Bonsoir,
                        >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                        1 réponse Dernière réponse Répondre Citer 0
                        • Deleted
                          Deleted dernière édition par

                          Et n’oublie pas de le rendre invulnérable avec setInvulnerable, je crois 😉

                          1 réponse Dernière réponse Répondre Citer 0
                          • Kujaroth
                            Kujaroth dernière édition par

                            Je n’ai pas trouver pour le mettre invulnérable malheureusement, setInvulnerable n’existe pas, seulement isInvulnerable. d’après mes recherche, c’est bien chiant a faire… Mais bon… Faut vraiment etre chanceux pour trouver une cible invisible 😕

                            >! Bonjour/Bonsoir,
                            >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                            1 réponse Dernière réponse Répondre Citer 0
                            • Deleted
                              Deleted dernière édition par

                              Tu peux toujours override la méthode attackEntityFrom et faire un truc comme ça

                              
                              @Override
                              public boolean attackEntityFrom(DamageSource damagSource, float ammount)
                              if(entity.isInvisible)//Ou un truc du genre
                              return false
                              else
                              return super.attackEntityFrom(damageSource, ammount);
                              
                              
                              1 réponse Dernière réponse Répondre Citer 0
                              • Kujaroth
                                Kujaroth dernière édition par

                                Ok, merci, j’ai integré le code, on verra bien s’il est bon pendant mes test multi 😃

                                >! Bonjour/Bonsoir,
                                >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                                1 réponse Dernière réponse Répondre Citer 0
                                • Deleted
                                  Deleted dernière édition par

                                  Bah normalement y a pas de raisons que sa ne marche pas ^^’
                                  Mais ton isInvulnerable ne marche pas ?! C est bizarre….Au pire si aucune de ces deux solutions marche pas, tu as toujours l event LivingAttackEvent, qui reste une bonne solution 😉

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • Kujaroth
                                    Kujaroth dernière édition par

                                    isInvulnerable ne peux pas marcher, vue que la fonction pour le rendre invincible n’a été appeler nul part 😃

                                    Mais je pense que ton code marchera 😃

                                    >! Bonjour/Bonsoir,
                                    >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • Deleted
                                      Deleted dernière édition par

                                      Pourtant si on regarde le message #10 on voit que tu appelles bien la methode setinvisible
                                      Apres sers toi de la methode onLivingpdate pour check si ton entity est invisible, si oui tu passes a true isInvulnerable. Mais encore une fois c est une solution parmis tant d autres 🙂

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • 1 / 1
                                      • Premier message
                                        Dernier message
                                      Design by Woryk
                                      Contact / Mentions Légales

                                      MINECRAFT FORGE FRANCE © 2018

                                      Powered by NodeBB