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

      au lieu de

      RenderingRegistry.registerEntityRenderingHandler(Bouftou.class, new RenderBouftou(new ModelBiped(), 0.5F));
      

      tu devrais avoir

      RenderingRegistry.registerEntityRenderingHandler(Bouftou.class, new RenderBouftou(new ModelBouftou(), 0.5F));
      

      Enfin il me semble hein

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

        RenderingRegistry.registerEntityRenderingHandler(Bouftou.class, new RenderBouftou(new ModelBiped(), 0.5F));
        

        Tu n’utilises pas ton Model custom mais un autre model.

        EDIT : Grugé par toutoune ^^

        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
        • 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