MFF

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

    Mob model personnalisé

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    16 Messages 5 Publieurs 2.6k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      Tu n’appliques pas ton model, en revanche pour ce qui est de la texture je crains que tu n’aies pas enregistré correctement ton rendu

      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
      • FolganskyF Hors-ligne
        Folgansky Correcteurs
        dernière édition par

        En tout cas moyen d’avoir un screen de ton model? Parce qu’un Bouftou en 33shapes, il doit avoir de la gueule

        GROS PS: On ne voit rien qui va gérer les rotations, je prédis des questions à ce sujet
        De plus j’espère que tu as pensé aux axes de rotations avant d’exporter ton .java

        1 réponse Dernière réponse Répondre Citer 0
        • BrokenSwingB Hors-ligne
          BrokenSwing Moddeurs confirmés Rédacteurs
          dernière édition par

          Balise de version ?

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

            Quand je remplace ModelBiped par ModelBouftou, j’ai l’erreur : The constructor RenderBouftou(ModelBouftou, float) is undefined

            Je dois changer ma class RenderBouftou extends RenderBiped certainement mais je ne sait pas en quoi.

            Pour la texture, quel est le problème ? J’ai suivi le tutoriel à la lettre.

            Pour les axes de rotations, j’aurais l’occasion de modifier tout ca, c’est le premier mob que j’exporte sur eclipse, la je voudrais juste voir le mob, je l’animerai plus tard.

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

              J’ai un modèle de quadripède dont le render est ainsi:

              public class RenderBullDog extends RenderLiving
              {  
                  public RenderBullDog(ModelBullDog BullDogRender, float par2)
                  {
                      super(new ModelBullDog(), 0.5F);
                  }
                  public final ResourceLocation texture = new ResourceLocation("ModPowerDeco:textures/entity/BullDog.png");
              
                  private ResourceLocation getBullDogTexture(EntityBullDog bullDog)
                  {
                      return texture;
                  }
              
                  @Override
                  protected ResourceLocation getEntityTexture(Entity living)
                  {
                      return this.getBullDogTexture((EntityBullDog)living);
                  }
              }
              

              C’est à dire extends RenderLiving (en me basant sur le code du loup)

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

                @‘Toutoune1008’:

                J’ai un modèle de quadripède dont le render est ainsi:

                public class RenderBullDog extends RenderLiving
                {  
                    public RenderBullDog(ModelBullDog BullDogRender, float par2)
                    {
                        super(new ModelBullDog(), 0.5F);
                    }
                    public final ResourceLocation texture = new ResourceLocation("ModPowerDeco:textures/entity/BullDog.png");
                
                    private ResourceLocation getBullDogTexture(EntityBullDog bullDog)
                    {
                        return texture;
                    }
                
                    @Override
                    protected ResourceLocation getEntityTexture(Entity living)
                    {
                        return this.getBullDogTexture((EntityBullDog)living);
                    }
                }
                

                C’est à dire extends RenderLiving (en me basant sur le code du loup)

                Ca fonctionne, merci beaucoup.

                J’en profite pour demander, si je veux que mon mob effectue des actions particulières du style tirer une flèche ou autre, y’a-t-il des tutos disponibles ?

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

                  Si tu parles de l’animation je pense pas qu’il y ait de tuto sur ce point précis, mais il y a bien un tuto sur l’animation basique (mouvements des membres).

                  Maintenant si tu parles d’une action à proprement parler, c’est à dire que ton mob tire des flèches, regarde le code du skeleton. Moi-même débutant en modding j’ai pu obtenir des mobs qui tirent des choses (ils ont armes à feu en main et te dégomment).

                  Le principal étant que tu regardes bien et que tu saches le résultat voulu, pour ne pas perdre trop de temps à chercher au hasard.

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

                    @‘Toutoune1008’:

                    Si tu parles de l’animation je pense pas qu’il y ait de tuto sur ce point précis, mais il y a bien un tuto sur l’animation basique (mouvements des membres).

                    Maintenant si tu parles d’une action à proprement parler, c’est à dire que ton mob tire des flèches, regarde le code du skeleton. Moi-même débutant en modding j’ai pu obtenir des mobs qui tirent des choses (ils ont armes à feu en main et te dégomment).

                    Le principal étant que tu regardes bien et que tu saches le résultat voulu, pour ne pas perdre trop de temps à chercher au hasard.

                    Je sais exactement ce que je veux, par ailleurs j’ai lu ce tuto : https://www.minecraftforgefrance.fr/showthread.php?tid=129 pour animer les 4 pattes de mon mob seulement, le mouvement de balancier ne fonctionne pas, les pattes bougent et reste en position “tendu” pendant le mouvement du mob puis reviennent en position initiale quand le mob s’arrête. Je voudrais le même mouvement que les pattes du cochon par exemple.

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

                      Je n’ai rien vu concernant la méthode

                      public void setLivingAnimations(EntityLivingBase living, float f, float f1, float f2){ }
                      

                      Dans la classe de ton modèle. Personnellement en utilisant la classe du loup comme base, j’ai pu obtenir le résultat voulu (mouvement de la queue, position assise etc)

                      Maintenant tu parles d’articulations complexes(plus d’un shape, c’pas ouf mais si tu n’as pas même fais d’animation basique, tu commences déjà un cran au dessus), ce sera à toi de tout doser niveau amplitude des mouvements et il faudra que tu ais bien placé tes axes de rotations sur ton modèle.

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

                        @‘Toutoune1008’:

                        Je n’ai rien vu concernant la méthode

                        public void setLivingAnimations(EntityLivingBase living, float f, float f1, float f2){ }
                        

                        Dans la classe de ton modèle. Personnellement en utilisant la classe du loup comme base, j’ai pu obtenir le résultat voulu (mouvement de la queue, position assise etc)

                        Maintenant tu parles d’articulations complexes(plus d’un shape, c’pas ouf mais si tu n’as pas même fais d’animation basique, tu commences déjà un cran au dessus), ce sera à toi de tout doser niveau amplitude des mouvements et il faudra que tu ais bien placé tes axes de rotations sur ton modèle.

                        L’animation se fait dans la classe du Model :

                        public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
                          {
                            super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
                            this.Shape3.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -1F * f1;
                            this.Shape4.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 1F * f1;
                            this.Shape5.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 1F * f1;
                            this.Shape2.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -1F * f1;
                          }
                        

                        Enfin du moins d’après le tutoriel que j’ai suivi. Shape 3 4 5 2 correspondent aux pattes

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

                          C’est ce que je te dis. Regarde plutôt la classe du loup et son modèle.

                          La méthode dont je te parle permet d’animer ton mob comme un loup, c’est à dire dès qu’il se déplace la méthode est appelée, ce qui te simplifie l’apprentissage.

                          Et tu pourras regarder la classe de l’entité pour l’update justement

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

                            @‘Toutoune1008’:

                            C’est ce que je te dis. Regarde plutôt la classe du loup et son modèle.

                            La méthode dont je te parle permet d’animer ton mob comme un loup, c’est à dire dès qu’il se déplace la méthode est appelée, ce qui te simplifie l’apprentissage.

                            Et tu pourras regarder la classe de l’entité pour l’update justement

                            J’ai regardé “EntityWolf.class” seulement, je n’ai pas trouvé la méthode dont tu me parlais. En fait moi je veux seulement animer les pattes pour qu’elles aient le même mouvement que le cochon, j’ai réussi à les faire avoir une rotation seulement je voudrais un mouvement plus naturel car actuellement, quand le mob est en mouvement elles se déplacent puis reviennent en position quand celui-ci s’arrête. Je voudrais le mouvement de balancier de la marche.

                            Je ne trouve pas l’emplacement des modèles des mobs du minecraft de base, sinon je n’aurais qu’a copier coller la partie qui m’intéresse par exemple celle du cochon en remplaçant par le nom de mes Shape.

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

                              package net.minecraft.client.model;
                              
                              import cpw.mods.fml.relauncher.Side;
                              import cpw.mods.fml.relauncher.SideOnly;
                              
                              @SideOnly(Side.CLIENT)
                              public class ModelPig extends ModelQuadruped
                              {
                                  private static final String __OBFID = "CL_00000849";
                              
                                  public ModelPig()
                                  {
                                      this(0.0F);
                                  }
                              
                                  public ModelPig(float p_i1151_1_)
                                  {
                                      super(6, p_i1151_1_);
                                      this.head.setTextureOffset(16, 16).addBox(-2.0F, 0.0F, -9.0F, 4, 3, 1, p_i1151_1_);
                                      this.field_78145_g = 4.0F;
                                  }
                              }
                              

                              On regarde donc ModelQuadruped

                              package net.minecraft.client.model;
                              
                              import cpw.mods.fml.relauncher.Side;
                              import cpw.mods.fml.relauncher.SideOnly;
                              import net.minecraft.entity.Entity;
                              import net.minecraft.util.MathHelper;
                              import org.lwjgl.opengl.GL11;
                              
                              @SideOnly(Side.CLIENT)
                              public class ModelQuadruped extends ModelBase
                              {
                                  public ModelRenderer head = new ModelRenderer(this, 0, 0);
                                  public ModelRenderer body;
                                  public ModelRenderer leg1;
                                  public ModelRenderer leg2;
                                  public ModelRenderer leg3;
                                  public ModelRenderer leg4;
                                  protected float field_78145_g = 8.0F;
                                  protected float field_78151_h = 4.0F;
                                  private static final String __OBFID = "CL_00000851";
                              
                                  public ModelQuadruped(int p_i1154_1_, float p_i1154_2_)
                                  {
                                      this.head.addBox(-4.0F, -4.0F, -8.0F, 8, 8, 8, p_i1154_2_);
                                      this.head.setRotationPoint(0.0F, (float)(18 - p_i1154_1_), -6.0F);
                                      this.body = new ModelRenderer(this, 28, 8);
                                      this.body.addBox(-5.0F, -10.0F, -7.0F, 10, 16, 8, p_i1154_2_);
                                      this.body.setRotationPoint(0.0F, (float)(17 - p_i1154_1_), 2.0F);
                                      this.leg1 = new ModelRenderer(this, 0, 16);
                                      this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, p_i1154_1_, 4, p_i1154_2_);
                                      this.leg1.setRotationPoint(-3.0F, (float)(24 - p_i1154_1_), 7.0F);
                                      this.leg2 = new ModelRenderer(this, 0, 16);
                                      this.leg2.addBox(-2.0F, 0.0F, -2.0F, 4, p_i1154_1_, 4, p_i1154_2_);
                                      this.leg2.setRotationPoint(3.0F, (float)(24 - p_i1154_1_), 7.0F);
                                      this.leg3 = new ModelRenderer(this, 0, 16);
                                      this.leg3.addBox(-2.0F, 0.0F, -2.0F, 4, p_i1154_1_, 4, p_i1154_2_);
                                      this.leg3.setRotationPoint(-3.0F, (float)(24 - p_i1154_1_), -5.0F);
                                      this.leg4 = new ModelRenderer(this, 0, 16);
                                      this.leg4.addBox(-2.0F, 0.0F, -2.0F, 4, p_i1154_1_, 4, p_i1154_2_);
                                      this.leg4.setRotationPoint(3.0F, (float)(24 - p_i1154_1_), -5.0F);
                                  }
                              
                                  /**
                                   * Sets the models various rotation angles then renders the model.
                                   */
                                  public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float p_78088_7_)
                                  {
                                      this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_, p_78088_1_);
                              
                                      if (this.isChild)
                                      {
                                          float f6 = 2.0F;
                                          GL11.glPushMatrix();
                                          GL11.glTranslatef(0.0F, this.field_78145_g * p_78088_7_, this.field_78151_h * p_78088_7_);
                                          this.head.render(p_78088_7_);
                                          GL11.glPopMatrix();
                                          GL11.glPushMatrix();
                                          GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6);
                                          GL11.glTranslatef(0.0F, 24.0F * p_78088_7_, 0.0F);
                                          this.body.render(p_78088_7_);
                                          this.leg1.render(p_78088_7_);
                                          this.leg2.render(p_78088_7_);
                                          this.leg3.render(p_78088_7_);
                                          this.leg4.render(p_78088_7_);
                                          GL11.glPopMatrix();
                                      }
                                      else
                                      {
                                          this.head.render(p_78088_7_);
                                          this.body.render(p_78088_7_);
                                          this.leg1.render(p_78088_7_);
                                          this.leg2.render(p_78088_7_);
                                          this.leg3.render(p_78088_7_);
                                          this.leg4.render(p_78088_7_);
                                      }
                                  }
                              
                                  /**
                                   * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms
                                   * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how
                                   * "far" arms and legs can swing at most.
                                   */
                                  public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity p_78087_7_)
                                  {
                                      float f6 = (180F / (float)Math.PI);
                                      this.head.rotateAngleX = p_78087_5_ / (180F / (float)Math.PI);
                                      this.head.rotateAngleY = p_78087_4_ / (180F / (float)Math.PI);
                                      this.body.rotateAngleX = ((float)Math.PI / 2F);
                                      this.leg1.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 1.4F * p_78087_2_;
                                      this.leg2.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 1.4F * p_78087_2_;
                                      this.leg3.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 1.4F * p_78087_2_;
                                      this.leg4.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 1.4F * p_78087_2_;
                                  }
                              }
                              

                              Dans tous les cas pour ta recherche c’est dans “package net.minecraft.client.model”

                              Après moi j’aime la classe modèle du loup alors je la mets de nouveau en avant Xd

                              package net.minecraft.client.model;
                              
                              import cpw.mods.fml.relauncher.Side;
                              import cpw.mods.fml.relauncher.SideOnly;
                              import net.minecraft.entity.Entity;
                              import net.minecraft.entity.EntityLivingBase;
                              import net.minecraft.entity.passive.EntityWolf;
                              import net.minecraft.util.MathHelper;
                              import org.lwjgl.opengl.GL11;
                              
                              @SideOnly(Side.CLIENT)
                              public class ModelWolf extends ModelBase
                              {
                                  /** main box for the wolf head */
                                  public ModelRenderer wolfHeadMain;
                                  /** The wolf's body */
                                  public ModelRenderer wolfBody;
                                  /** Wolf'se first leg */
                                  public ModelRenderer wolfLeg1;
                                  /** Wolf's second leg */
                                  public ModelRenderer wolfLeg2;
                                  /** Wolf's third leg */
                                  public ModelRenderer wolfLeg3;
                                  /** Wolf's fourth leg */
                                  public ModelRenderer wolfLeg4;
                                  /** The wolf's tail */
                                  ModelRenderer wolfTail;
                                  /** The wolf's mane */
                                  ModelRenderer wolfMane;
                                  private static final String __OBFID = "CL_00000868";
                              
                                  public ModelWolf()
                                  {
                                      float f = 0.0F;
                                      float f1 = 13.5F;
                                      this.wolfHeadMain = new ModelRenderer(this, 0, 0);
                                      this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f);
                                      this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F);
                                      this.wolfBody = new ModelRenderer(this, 18, 14);
                                      this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f);
                                      this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F);
                                      this.wolfMane = new ModelRenderer(this, 21, 0);
                                      this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f);
                                      this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F);
                                      this.wolfLeg1 = new ModelRenderer(this, 0, 18);
                                      this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
                                      this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F);
                                      this.wolfLeg2 = new ModelRenderer(this, 0, 18);
                                      this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
                                      this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F);
                                      this.wolfLeg3 = new ModelRenderer(this, 0, 18);
                                      this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
                                      this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F);
                                      this.wolfLeg4 = new ModelRenderer(this, 0, 18);
                                      this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
                                      this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F);
                                      this.wolfTail = new ModelRenderer(this, 9, 18);
                                      this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f);
                                      this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F);
                                      this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f);
                                      this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f);
                                      this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f);
                                  }
                              
                                  /**
                                   * Sets the models various rotation angles then renders the model.
                                   */
                                  public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float p_78088_7_)
                                  {
                                      super.render(p_78088_1_, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_);
                                      this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_, p_78088_1_);
                              
                                      if (this.isChild)
                                      {
                                          float f6 = 2.0F;
                                          GL11.glPushMatrix();
                                          GL11.glTranslatef(0.0F, 5.0F * p_78088_7_, 2.0F * p_78088_7_);
                                          this.wolfHeadMain.renderWithRotation(p_78088_7_);
                                          GL11.glPopMatrix();
                                          GL11.glPushMatrix();
                                          GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6);
                                          GL11.glTranslatef(0.0F, 24.0F * p_78088_7_, 0.0F);
                                          this.wolfBody.render(p_78088_7_);
                                          this.wolfLeg1.render(p_78088_7_);
                                          this.wolfLeg2.render(p_78088_7_);
                                          this.wolfLeg3.render(p_78088_7_);
                                          this.wolfLeg4.render(p_78088_7_);
                                          this.wolfTail.renderWithRotation(p_78088_7_);
                                          this.wolfMane.render(p_78088_7_);
                                          GL11.glPopMatrix();
                                      }
                                      else
                                      {
                                          this.wolfHeadMain.renderWithRotation(p_78088_7_);
                                          this.wolfBody.render(p_78088_7_);
                                          this.wolfLeg1.render(p_78088_7_);
                                          this.wolfLeg2.render(p_78088_7_);
                                          this.wolfLeg3.render(p_78088_7_);
                                          this.wolfLeg4.render(p_78088_7_);
                                          this.wolfTail.renderWithRotation(p_78088_7_);
                                          this.wolfMane.render(p_78088_7_);
                                      }
                                  }
                              
                                  /**
                                   * Used for easily adding entity-dependent animations. The second and third float params here are the same second
                                   * and third as in the setRotationAngles method.
                                   */
                                  public void setLivingAnimations(EntityLivingBase p_78086_1_, float p_78086_2_, float p_78086_3_, float p_78086_4_)
                                  {
                                      EntityWolf entitywolf = (EntityWolf)p_78086_1_;
                              
                                      if (entitywolf.isAngry())
                                      {
                                          this.wolfTail.rotateAngleY = 0.0F;
                                      }
                                      else
                                      {
                                          this.wolfTail.rotateAngleY = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_;
                                      }
                              
                                      if (entitywolf.isSitting())
                                      {
                                          this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F);
                                          this.wolfMane.rotateAngleX = ((float)Math.PI * 2F / 5F);
                                          this.wolfMane.rotateAngleY = 0.0F;
                                          this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F);
                                          this.wolfBody.rotateAngleX = ((float)Math.PI / 4F);
                                          this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F);
                                          this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F);
                                          this.wolfLeg1.rotateAngleX = ((float)Math.PI * 3F / 2F);
                                          this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F);
                                          this.wolfLeg2.rotateAngleX = ((float)Math.PI * 3F / 2F);
                                          this.wolfLeg3.rotateAngleX = 5.811947F;
                                          this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F);
                                          this.wolfLeg4.rotateAngleX = 5.811947F;
                                          this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F);
                                      }
                                      else
                                      {
                                          this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F);
                                          this.wolfBody.rotateAngleX = ((float)Math.PI / 2F);
                                          this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F);
                                          this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX;
                                          this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F);
                                          this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F);
                                          this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F);
                                          this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F);
                                          this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F);
                                          this.wolfLeg1.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_;
                                          this.wolfLeg2.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F + (float)Math.PI) * 1.4F * p_78086_3_;
                                          this.wolfLeg3.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F + (float)Math.PI) * 1.4F * p_78086_3_;
                                          this.wolfLeg4.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_;
                                      }
                              
                                      this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(p_78086_4_) + entitywolf.getShakeAngle(p_78086_4_, 0.0F);
                                      this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(p_78086_4_, -0.08F);
                                      this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(p_78086_4_, -0.16F);
                                      this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(p_78086_4_, -0.2F);
                                  }
                              
                                  /**
                                   * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms
                                   * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how
                                   * "far" arms and legs can swing at most.
                                   */
                                  public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity p_78087_7_)
                                  {
                                      super.setRotationAngles(p_78087_1_, p_78087_2_, p_78087_3_, p_78087_4_, p_78087_5_, p_78087_6_, p_78087_7_);
                                      this.wolfHeadMain.rotateAngleX = p_78087_5_ / (180F / (float)Math.PI);
                                      this.wolfHeadMain.rotateAngleY = p_78087_4_ / (180F / (float)Math.PI);
                                      this.wolfTail.rotateAngleX = p_78087_3_;
                                  }
                              }
                              
                              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