MFF

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

    Mob qui lorsqu'il attaque met en feu

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    4 Messages 3 Publieurs 1.2k 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.
    • Jerem_TechJ Hors-ligne
      Jerem_Tech
      dernière édition par

      Bonjour !

      Je suis nouveau sur le forum , et je souhaiterais savoir comment mettre un joueur en feu lorsque le joueur est attaquer/toucher par le mob .
      -> Comme le zombie quand il est en feu mais là ce serais pas en fonction de l’heure , ni si le mob est en feu … Le mob n’est pas en feu mais metle joueur en feu .

      Merci d’avance !

      Cordialement ,

      JEREMY60800

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

        Rajoute ça dans la classe de ton entity

        
        public boolean attackEntityAsMob(Entity entity)
           {
               if (super.attackEntityAsMob(entity))
               {
                    entity.setFire(5 * 20);//5 est le nombre de secondes souhaitées durant laquelle l'entity brûlera
                   return true;
               }
               return false;
           }
        
        
        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

          Salut,
          Il suffit de reprendre le code du zombie et de le modifier :

             public boolean attackEntityAsMob(Entity entityIn)
             {
                 boolean flag = super.attackEntityAsMob(entityIn); // obtient le résultat de la valeur de EntityMob.attackEntityAsMob(entity) comme EntityZombie est extends EntityMob. Cette fonction renvoie true si l'entité a été attaqué.
          
                 if (flag) // si l'entité a bien été attaqué.
                 {
                     int i = this.worldObj.getDifficulty().getDifficultyId(); // on récupère la difficulté
          
                     if (this.getHeldItem() == null && this.isBurning() && this.rand.nextFloat() < (float)i * 0.3F) // si le zombie n'a pas de casque, qu'il brule et qu'un nombre compris entre 0 et 1 (exclut) est inférieur à 0,3* la difficulté
                     {
                         entityIn.setFire(2 * i); // on brule l'entité touché pendant 2* la difficulté secondes.
                     }
                 }
          
                 return flag;
             }
          

          Version modifié :

             public boolean attackEntityAsMob(Entity entityIn)
             {
                 boolean flag = super.attackEntityAsMob(entityIn); // ton entité doit être extends EntityMob
          
                 if (flag) // si l'entité a bien été attaqué.
                 {
                         entityIn.setFire(3); // à toi de mettre ce que tu veux ici
                 }
                 return flag;
             }
          

          Rien de compliqué.

          EDIT : Plaigon a été plus rapide que moi, par contre il s’est planté, dans la fonction setFire(int time) time est en seconde et non en tick donc il ne faut pas multiplier par 20.

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

            Re ,

            Merci !
            Cela fonctionne parfaitement !

            Cordialement ,

            JEREMY60800

            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