MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

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

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    17 Messages 5 Publieurs 2.4k Vues 1 Watching
    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.
    • KujarothK Hors-ligne
      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
      • FolganskyF Hors-ligne
        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
        • robin4002R Hors-ligne
          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
          • KujarothK Hors-ligne
            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
            • FolganskyF Hors-ligne
              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
              • DeletedD Hors-ligne
                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
                • AmaA Hors-ligne
                  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
                  • KujarothK Hors-ligne
                    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
                    • DeletedD Hors-ligne
                      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
                      • KujarothK Hors-ligne
                        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
                        • DeletedD Hors-ligne
                          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
                          • KujarothK Hors-ligne
                            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
                            • DeletedD Hors-ligne
                              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
                              • KujarothK Hors-ligne
                                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
                                • DeletedD Hors-ligne
                                  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
                                  • KujarothK Hors-ligne
                                    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
                                    • DeletedD Hors-ligne
                                      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
                                      ContactMentions Légales

                                      MINECRAFT FORGE FRANCE © 2024

                                      Powered by NodeBB