MFF

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

    Une sorte de "familié"

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    90 Messages 8 Publieurs 15.3k 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.
    • AymericRedA Hors-ligne
      AymericRed
      dernière édition par

      Tu es bien sur que l’entité est tamed ? Car avec tes else if, la potion de sera pas ajouté si l’entité n’est pas tamed.

      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

      1 réponse Dernière réponse Répondre Citer 0
      • leo01418L Hors-ligne
        leo01418
        dernière édition par

        Excuse xD  mon entity était pas tamed
         bon mais j’ai plusieurs problème quand j’éssaye de faire sa  this.getEntityAttribute(SharedMonsterAttributes.attackdamage).setBaseValue(8D); sa crash

        et

        de 2 j’aimerais que quand il monte d’un lvl sa fait une augmentation automatique des pv,vitesse,attaque par exemple ses pv au niveau 1 sont 60 et au niveau 2 70 et au niveau 3 80 sans que je fais ce genre de condition

        if (this.lvl == 1) {
        this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(100.0D);
        this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5D);
        
        }
        if (this.lvl == 2) {
        this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(110.0D);
        this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.57D);
        }
        if (this.lvl == 3) {
        this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(120.0D);
        this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.589D);
        }
        

        car c’est chiant de faire à chaque fois

        Merci de vost réponse 😄

        Voila ma signature

        1 réponse Dernière réponse Répondre Citer 0
        • AymericRedA Hors-ligne
          AymericRed
          dernière édition par

          De 1) vérifie que ce soit soit après que la fonction entityInit() ait été appelée, soit après super.entityInit() dans la fonction entityInit() de ton entitée (les attributs sont “attribués” dans les superclasses (la classes que tu extends + l’extends de la classe que tu extends + etc) dans leur fonction entityInit();).

          De 2) laViePourUnNiveau = laVieDeBase + augmentationParNiveau^leNiveau; qui est la même chose que
          laViePourUnNiveau = laVieDeBase + leNiveau * (augmentationParNiveau * augmentationParNiveau);

          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

          1 réponse Dernière réponse Répondre Citer 0
          • leo01418L Hors-ligne
            leo01418
            dernière édition par

            Bonjour au faite j’ai laissé tombé le commentaire précédant et j’ai décidé de revenir sur sa

            public void setAttackTarget(EntityLivingBase p_70624_1_) {
            super.setAttackTarget(p_70624_1_);
            
            if (p_70624_1_ == null) {
            this.setAngry(false);
            } else if (!this.isTamed()) {
            this.setAngry(true);
            
            }
            if (this.lvl == 0)
            {
            this.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 210, 0));
            }
            
            if (this.lvl > 1) {
            this.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 210, 1));}
            if (this.lvl > 4) {
            this.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 210, 2));}
            f (this.lvl > 6) {
            this.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 210, 3));}
            }
            

            le problème c’est que sa marche pour le lvl 1 mais pas les autres donc je dois trouvé un moyen de clear l’éffet de potion quand il est sur le point de monté de lvl ou de faire l’effet de potion est pas infinie

            Voila ma signature

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

              Tu as cette méthode pour remove les effets de popo EntityLivingBase#clearActivePotions

              1 réponse Dernière réponse Répondre Citer 0
              • leo01418L Hors-ligne
                leo01418
                dernière édition par

                Merci Plaigon 🙂
                (Sa fait Plaisir de te revoir 🙂 )

                Voila ma signature

                1 réponse Dernière réponse Répondre Citer 0
                • leo01418L Hors-ligne
                  leo01418
                  dernière édition par

                  re alors j’essaie une nouvelle méthode

                  public boolean attackEntityAsMob(Entity p_70652_1_) {
                  int i = this.isTamed() ? 4 : 2;
                   if (this.attackEntityAsMob(player))
                         {
                  
                             this.worldObj.setEntityState(this, (byte)4);
                  
                             if (this.attackEntityAsMob(p_70652_1_))
                         {
                            if(this.lvl > 10 && this.attackEntityAsMob(p_70652_1_))
                                 {
                                     ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.poison.id, 1000,0));
                                     ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2000,0));
                                 }
                              if(this.lvl > 40 && this.attackEntityAsMob(p_70652_1_))
                              {
                                  ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.weakness.id, 2000,1));
                              ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.wither.id, 2000,1));
                                     ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2000,1));
                                     ((net.minecraft.entity.EntityLivingBase) p_70652_1_).setFire(10000);
                              }
                              if(this.lvl > 50 && this.attackEntityAsMob(p_70652_1_))
                              {
                              this.motionY = 2.0F;
                                ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.weakness.id, 2000,1));
                              ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.wither.id, 2000,1));
                                     ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2000,1));
                                     ((net.minecraft.entity.EntityLivingBase) p_70652_1_).setFire(10000);
                              }
                  
                               if(this.lvl > 99 && this.attackEntityAsMob(p_70652_1_))
                               {
                               ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.wither.id, 2000,3));
                                   ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2000,3));
                                   ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.hunger.id, 2000,3));
                                   ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.confusion.id, 500,3));
                                   ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.blindness.id, 1000,3));
                                   ((net.minecraft.entity.EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 2000,3));
                              this.motionY = 2.0F;
                                   ((net.minecraft.entity.EntityLivingBase) p_70652_1_).setFire(10000);
                               }
                         }
                             return true;
                         }
                  return p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i);
                  
                  }
                  

                  et elle ne marche pas 😞

                  Merci de vos réponse 🙂

                  Voila ma signature

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

                    Dis nous précisément “ce qui ne marche pas”.
                    Change le return p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); par true ou false en fonction de ce que tu souhaites. J’imagine que c’est false.
                    Et puis formates un peu ton code pour nous facilité la lecture, stp 😃

                    1 réponse Dernière réponse Répondre Citer 0
                    • leo01418L Hors-ligne
                      leo01418
                      dernière édition par

                      @‘Plaigon’:

                      Dis nous précisément “ce qui ne marche pas”.
                      Change le return p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); par true ou false en fonction de ce que tu souhaites. J’imagine que c’est false.
                      Et puis formates un peu ton code pour nous facilité la lecture, stp 😃

                      En gros ce que je veux faire c’est que par exemple(oui je sais encore des exemples 😄 ) c’est que quand il monte le lvl 10 il débloque une sorte de capacité que quand le joueur tape une entity sa lui donne les effet que j’ai mis et pareil pour la suite des niveaux 😉

                      Merci de ta réponse rapide  😄

                      Voila ma signature

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

                        Dans ce cas ce n’est pas la méthode attackEntityAsMob dont tu dois te servir, celle-ci n’est appelée que quand une entity frappe une autre. Regarde par-exemple la classe de la cave spider, dans sa méthode attackEntityAsMob, on très bien l’ajout du poison pour l’entity attaquée. Or toi tu veux que quand UN JOUEUR FRAPPE TON ENTITY, celle-ci LUI DONNE DES EFFETS DE POISON, nuance. Donc utilise plutôt la méthode attackEntityFrom(), que tu feras retourner en super.attackEntityFrom

                        1 réponse Dernière réponse Répondre Citer 0
                        • leo01418L Hors-ligne
                          leo01418
                          dernière édition par

                          @‘Plaigon’:

                          Dans ce cas ce n’est pas la méthode attackEntityAsMob dont tu dois te servir, celle-ci n’est appelée que quand une entity frappe une autre. Regarde par-exemple la classe de la cave spider, dans sa méthode attackEntityAsMob, on très bien l’ajout du poison pour l’entity attaquée. Or toi tu veux que quand UN JOUEUR FRAPPE TON ENTITY, celle-ci LUI DONNE DES EFFETS DE POISON, nuance. Donc utilise plutôt la méthode attackEntityFrom(), que tu feras retourner en super.attackEntityFrom

                          Ok merci je vais regardé sa  🙂

                          Voila ma signature

                          1 réponse Dernière réponse Répondre Citer 0
                          • leo01418L Hors-ligne
                            leo01418
                            dernière édition par

                            'est réglé pour sa et aussi pour l’attaque bon ensuite pour moi c’est les plus dur chose 
                            faire l’item pour que sa lui donne son skin
                            puis ensuite faire l’item pour la white list c’est à dire que quand tu donne l’item avec un nom sa lui rajoute dans la white list et que si on nomme NO_nomdujoueur sa enléve de la whitelist

                            Voila ma signature

                            1 réponse Dernière réponse Répondre Citer 0
                            • SCAREXS Hors-ligne
                              SCAREX
                              dernière édition par

                              J’ai pas compris personnellement

                              Site web contenant mes scripts : http://SCAREXgaming.github.io

                              Pas de demandes de support par MP ni par skype SVP.
                              Je n'accepte sur skype que l…

                              1 réponse Dernière réponse Répondre Citer 0
                              • leo01418L Hors-ligne
                                leo01418
                                dernière édition par

                                au faite j’aimerais une white list que quand tu nomme l’objet le nom du joueur et que tu donne à l’entity sa le rajoute à la white list mais quand tu met NO_lepseudosdujoueur sa lui enlève de la white list

                                de 2 j’aimerais faire l’item spéciale qui lui met un skin je vais essaye un truc la je vous diras si sa marche 🙂

                                et de 3 et quand tu fait un clique droit sur lui il ne se tp plus à toi mais peux bougé attaqué etc

                                Voila ma signature

                                1 réponse Dernière réponse Répondre Citer 0
                                • SCAREXS Hors-ligne
                                  SCAREX
                                  dernière édition par

                                  1- quel objet ? Et comment tu lui donnes ? Et comment tu ajoute un joueur dans la whitelist ?
                                  2- C’est à dire ? Lorsque tu cliques avec un certain item ça change son skin ?
                                  3- Il fait quoi actuellement quand tu fais un clique droit ?

                                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                                  Pas de demandes de support par MP ni par skype SVP.
                                  Je n'accepte sur skype que l…

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

                                    2- Il faudrait enregistrer le skin choisi dans les NBTTag de l’entity, et dans ensuite côté render de l’entity, dans la méthode getEntityTexture, tu get ses NBT et + précisément, la texture pour rendre la bonne. C’est vraiment pas compliqué, crois moi.

                                    3-Pour cela tu devrais aussi enregistrer un boolean dans les tag de l’entity qui définit si oui ou non il doit se tp à son maître. Et ensuite dans la fonction onLivingUpdate() en fonction de si oui ou non ce boolean return true, tu effectues les téléportations 😃

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • AymericRedA Hors-ligne
                                      AymericRed
                                      dernière édition par

                                      Le mieux pour les nbt, c’est juste de les lires dans la fonction readFromNBT et d’enregistrer la valeur dans une variable de ton entité (au lieu de les lires à chaque update ce qui alourdirait la chose).
                                      Par contre pour que tout soit bien synchro, il faudra utiliser les data watcher, et je ne crois pas que ce soit possible pour les textures (String), ou sinon tu fais une liste de texture et tu leur attribue un id, là ça marcherait via les data watcher, ou encore, sinon tu fais tes propres packets.

                                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • leo01418L Hors-ligne
                                        leo01418
                                        dernière édition par

                                        @‘SCAREX’:

                                        1- quel objet ? Et comment tu lui donnes ? Et comment tu ajoute un joueur dans la whitelist ?
                                        2- C’est à dire ? Lorsque tu cliques avec un certain item ça change son skin ?
                                        3- Il fait quoi actuellement quand tu fais un clique droit ?

                                        Tout simplement un objet custom, pas en gros je veux que quand tu le nomme avec l’enclume le nom du joueur se que tu donne sa ajoute le joueur à la white list et quand tu le nomme dans une enclume NO_lenomdujoueur et que tu lui donne au familié sa lui enlève de la white list
                                        2 tout à fait 
                                        3 il s’assoie comme un chien

                                        je vais me renseigné sur les nbt 😉

                                        Voila ma signature

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • SCAREXS Hors-ligne
                                          SCAREX
                                          dernière édition par

                                          1- Tu as simplement besoin d’un item, ensuite tu modifie la méthode interact pour ajouter le UUID du joueur à partir du nom de l’item
                                          2- Tu modifies la méthode interact qui va changer une valeur dans ton entité (si tu n’as besoin de qu’une valeur un booléen suffit) et ensuite tu accèdes à cette valeur dans le rendu
                                          3- Normalement une fois sur 2 il s’assoit et une fois sur 2 il se lève et peut marcher comme un chien, sinon c’est qu’il y a un problème dans ton code

                                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                                          Pas de demandes de support par MP ni par skype SVP.
                                          Je n'accepte sur skype que l…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • leo01418L Hors-ligne
                                            leo01418
                                            dernière édition par

                                            J’ai trouvé un bug dans le familiar si une personne donne une croquette il devient le propriétaire du familiar et faudra que dés que le joueur donne la première croquette au familiar il soit le propriétaire à vit

                                            Merci de vos réponse
                                            Ps:je cherche comment des tuto sur les nbt 😛

                                            Voila ma signature

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 4 / 5
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB