MFF

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

    Changer la taille du joueur

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    12 Messages 2 Publieurs 1.0k Vues 2 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.
    • S Hors-ligne
      sportday24
      dernière édition par

      Voici le code pour 1.12.2

      package ml.test.sportday;
      
      import net.minecraft.client.entity.AbstractClientPlayer;
      import net.minecraft.client.model.ModelBiped;
      import net.minecraft.client.model.ModelPlayer;
      import net.minecraft.client.renderer.GlStateManager;
      import net.minecraft.client.renderer.entity.RenderLivingBase;
      import net.minecraft.client.renderer.entity.RenderManager;
      import net.minecraft.client.renderer.entity.RenderPlayer;
      import net.minecraft.client.renderer.entity.layers.LayerArrow;
      import net.minecraft.client.renderer.entity.layers.LayerBipedArmor;
      import net.minecraft.client.renderer.entity.layers.LayerCape;
      import net.minecraft.client.renderer.entity.layers.LayerCustomHead;
      import net.minecraft.client.renderer.entity.layers.LayerDeadmau5Head;
      import net.minecraft.client.renderer.entity.layers.LayerElytra;
      import net.minecraft.client.renderer.entity.layers.LayerEntityOnShoulder;
      import net.minecraft.client.renderer.entity.layers.LayerHeldItem;
      import net.minecraft.entity.player.EnumPlayerModelParts;
      import net.minecraft.item.EnumAction;
      import net.minecraft.item.ItemStack;
      import net.minecraft.scoreboard.Score;
      import net.minecraft.scoreboard.ScoreObjective;
      import net.minecraft.scoreboard.Scoreboard;
      import net.minecraft.util.EnumHandSide;
      import net.minecraft.util.ResourceLocation;
      import net.minecraft.util.math.MathHelper;
      import net.minecraft.util.math.Vec3d;
      import net.minecraftforge.fml.relauncher.Side;
      import net.minecraftforge.fml.relauncher.SideOnly;
      
      @SideOnly(Side.CLIENT)
      public class RenderCustomPlayer extends RenderLivingBase<AbstractClientPlayer>
      {
          /** this field is used to indicate the 3-pixel wide arms */
          private final boolean smallArms;
      
          public RenderCustomPlayer(RenderManager renderManager)
          {
              this(renderManager, false);
          }
      
          public RenderCustomPlayer(RenderManager renderManager, boolean useSmallArms)
          {
          	
              super(renderManager, new ModelCustomPlayer(0.0F, useSmallArms), 0.5F);
              this.smallArms = useSmallArms;
              this.addLayer(new LayerBipedArmor(this));
              this.addLayer(new LayerHeldItem(this));
              this.addLayer(new LayerArrow(this));
              this.addLayer(new LayerCustomHead(this.getMainModel().bipedHead));
              this.addLayer(new LayerElytra(this));
              this.addLayer(new LayerEntityOnShoulder(renderManager));
          }
      
          public ModelPlayer getMainModel()
          {
              return (ModelPlayer)super.getMainModel();
          }
      
          /**
           * Renders the desired {@code T} type Entity.
           */
          public void doRender(AbstractClientPlayer entity, double x, double y, double z, float entityYaw, float partialTicks)
          {
          
              if (!entity.isUser() || this.renderManager.renderViewEntity == entity)
              {
                  double d0 = y;
      
                  if (entity.isSneaking())
                  {
                      d0 = y - 0.125D;
                  }
      
                  this.setModelVisibilities(entity);
                  GlStateManager.enableBlendProfile(GlStateManager.Profile.PLAYER_SKIN);
                  super.doRender(entity, x, d0, z, entityYaw, partialTicks);
                  GlStateManager.disableBlendProfile(GlStateManager.Profile.PLAYER_SKIN);
              }
             //net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderPlayerEvent.Post(entity, this, partialTicks, x, y, z));
          }
      
          private void setModelVisibilities(AbstractClientPlayer clientPlayer)
          {
              ModelPlayer modelplayer = this.getMainModel();
      
              if (clientPlayer.isSpectator())
              {
                  modelplayer.setVisible(false);
                  modelplayer.bipedHead.showModel = true;
                  modelplayer.bipedHeadwear.showModel = true;
              }
              else
              {
                  ItemStack itemstack = clientPlayer.getHeldItemMainhand();
                  ItemStack itemstack1 = clientPlayer.getHeldItemOffhand();
                  modelplayer.setVisible(true);
                  modelplayer.bipedHeadwear.showModel = clientPlayer.isWearing(EnumPlayerModelParts.HAT);
                  modelplayer.bipedBodyWear.showModel = clientPlayer.isWearing(EnumPlayerModelParts.JACKET);
                  modelplayer.bipedLeftLegwear.showModel = clientPlayer.isWearing(EnumPlayerModelParts.LEFT_PANTS_LEG);
                  modelplayer.bipedRightLegwear.showModel = clientPlayer.isWearing(EnumPlayerModelParts.RIGHT_PANTS_LEG);
                  modelplayer.bipedLeftArmwear.showModel = clientPlayer.isWearing(EnumPlayerModelParts.LEFT_SLEEVE);
                  modelplayer.bipedRightArmwear.showModel = clientPlayer.isWearing(EnumPlayerModelParts.RIGHT_SLEEVE);
                  modelplayer.isSneak = clientPlayer.isSneaking();
                  ModelBiped.ArmPose modelbiped$armpose = ModelBiped.ArmPose.EMPTY;
                  ModelBiped.ArmPose modelbiped$armpose1 = ModelBiped.ArmPose.EMPTY;
      
                  if (!itemstack.isEmpty())
                  {
                      modelbiped$armpose = ModelBiped.ArmPose.ITEM;
      
                      if (clientPlayer.getItemInUseCount() > 0)
                      {
                          EnumAction enumaction = itemstack.getItemUseAction();
      
                          if (enumaction == EnumAction.BLOCK)
                          {
                              modelbiped$armpose = ModelBiped.ArmPose.BLOCK;
                          }
                          else if (enumaction == EnumAction.BOW)
                          {
                              modelbiped$armpose = ModelBiped.ArmPose.BOW_AND_ARROW;
                          }
                      }
                  }
      
                  if (!itemstack1.isEmpty())
                  {
                      modelbiped$armpose1 = ModelBiped.ArmPose.ITEM;
      
                      if (clientPlayer.getItemInUseCount() > 0)
                      {
                          EnumAction enumaction1 = itemstack1.getItemUseAction();
      
                          if (enumaction1 == EnumAction.BLOCK)
                          {
                              modelbiped$armpose1 = ModelBiped.ArmPose.BLOCK;
                          }
                          // FORGE: fix MC-88356 allow offhand to use bow and arrow animation
                          else if (enumaction1 == EnumAction.BOW)
                          {
                              modelbiped$armpose1 = ModelBiped.ArmPose.BOW_AND_ARROW;
                          }
                      }
                  }
      
                  if (clientPlayer.getPrimaryHand() == EnumHandSide.RIGHT)
                  {
                      modelplayer.rightArmPose = modelbiped$armpose;
                      modelplayer.leftArmPose = modelbiped$armpose1;
                  }
                  else
                  {
                      modelplayer.rightArmPose = modelbiped$armpose1;
                      modelplayer.leftArmPose = modelbiped$armpose;
                  }
              }
          }
      
          /**
           * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
           */
          public ResourceLocation getEntityTexture(AbstractClientPlayer entity)
          {
              return entity.getLocationSkin();
          }
      
          public void transformHeldFull3DItemLayer()
          {
              GlStateManager.translate(0.0F, 0.1875F, 0.0F);
          }
      
          /**
           * Allows the render to do state modifications necessary before the model is rendered.
           */
          protected void preRenderCallback(AbstractClientPlayer entitylivingbaseIn, float partialTickTime)
          {
              float f = 0.9375F;
              GlStateManager.scale(0.9375F, 0.9375F, 0.9375F);
          }
      
          protected void renderEntityName(AbstractClientPlayer entityIn, double x, double y, double z, String name, double distanceSq)
          {
              if (distanceSq < 100.0D)
              {
                  Scoreboard scoreboard = entityIn.getWorldScoreboard();
                  ScoreObjective scoreobjective = scoreboard.getObjectiveInDisplaySlot(2);
      
                  if (scoreobjective != null)
                  {
                      Score score = scoreboard.getOrCreateScore(entityIn.getName(), scoreobjective);
                      this.renderLivingLabel(entityIn, score.getScorePoints() + " " + scoreobjective.getDisplayName(), x, y, z, 64);
                      y += (double)((float)this.getFontRendererFromRenderManager().FONT_HEIGHT * 1.15F * 0.025F);
                  }
              }
      
              super.renderEntityName(entityIn, x, y, z, name, distanceSq);
          }
      
          public void renderRightArm(AbstractClientPlayer clientPlayer)
          {
              float f = 1.0F;
              GlStateManager.color(1.0F, 1.0F, 1.0F);
              float f1 = 0.0625F;
              ModelPlayer modelplayer = this.getMainModel();
              this.setModelVisibilities(clientPlayer);
              GlStateManager.enableBlend();
              modelplayer.swingProgress = 0.0F;
              modelplayer.isSneak = false;
              modelplayer.setRotationAngles(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, clientPlayer);
              modelplayer.bipedRightArm.rotateAngleX = 0.0F;
              modelplayer.bipedRightArm.render(0.0625F);
              modelplayer.bipedRightArmwear.rotateAngleX = 0.0F;
              modelplayer.bipedRightArmwear.render(0.0625F);
              GlStateManager.disableBlend();
          }
      
          public void renderLeftArm(AbstractClientPlayer clientPlayer)
          {
              float f = 1.0F;
              GlStateManager.color(1.0F, 1.0F, 1.0F);
              float f1 = 0.0625F;
              ModelPlayer modelplayer = this.getMainModel();
              this.setModelVisibilities(clientPlayer);
              GlStateManager.enableBlend();
              modelplayer.isSneak = false;
              modelplayer.swingProgress = 0.0F;
              modelplayer.setRotationAngles(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, clientPlayer);
              modelplayer.bipedLeftArm.rotateAngleX = 0.0F;
              modelplayer.bipedLeftArm.render(0.0625F);
              modelplayer.bipedLeftArmwear.rotateAngleX = 0.0F;
              modelplayer.bipedLeftArmwear.render(0.0625F);
              GlStateManager.disableBlend();
          }
      
          /**
           * Sets a simple glTranslate on a LivingEntity.
           */
          protected void renderLivingAt(AbstractClientPlayer entityLivingBaseIn, double x, double y, double z)
          {
              if (entityLivingBaseIn.isEntityAlive() && entityLivingBaseIn.isPlayerSleeping())
              {
                  super.renderLivingAt(entityLivingBaseIn, x + (double)entityLivingBaseIn.renderOffsetX, y + (double)entityLivingBaseIn.renderOffsetY, z + (double)entityLivingBaseIn.renderOffsetZ);
              }
              else
              {
                  super.renderLivingAt(entityLivingBaseIn, x, y, z);
              }
          }
      
          protected void applyRotations(AbstractClientPlayer entityLiving, float p_77043_2_, float rotationYaw, float partialTicks)
          {
              if (entityLiving.isEntityAlive() && entityLiving.isPlayerSleeping())
              {
                  GlStateManager.rotate(entityLiving.getBedOrientationInDegrees(), 0.0F, 1.0F, 0.0F);
                  GlStateManager.rotate(this.getDeathMaxRotation(entityLiving), 0.0F, 0.0F, 1.0F);
                  GlStateManager.rotate(270.0F, 0.0F, 1.0F, 0.0F);
              }
              else if (entityLiving.isElytraFlying())
              {
                  super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks);
                  float f = (float)entityLiving.getTicksElytraFlying() + partialTicks;
                  float f1 = MathHelper.clamp(f * f / 100.0F, 0.0F, 1.0F);
                  GlStateManager.rotate(f1 * (-90.0F - entityLiving.rotationPitch), 1.0F, 0.0F, 0.0F);
                  Vec3d vec3d = entityLiving.getLook(partialTicks);
                  double d0 = entityLiving.motionX * entityLiving.motionX + entityLiving.motionZ * entityLiving.motionZ;
                  double d1 = vec3d.x * vec3d.x + vec3d.z * vec3d.z;
      
                  if (d0 > 0.0D && d1 > 0.0D)
                  {
                      double d2 = (entityLiving.motionX * vec3d.x + entityLiving.motionZ * vec3d.z) / (Math.sqrt(d0) * Math.sqrt(d1));
                      double d3 = entityLiving.motionX * vec3d.z - entityLiving.motionZ * vec3d.x;
                      GlStateManager.rotate((float)(Math.signum(d3) * Math.acos(d2)) * 180.0F / (float)Math.PI, 0.0F, 1.0F, 0.0F);
                  }
              }
              else
              {
                  super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks);
              }
          }
      }
      
      
      package ml.test.sportday;
      
      import net.minecraft.client.model.ModelPlayer;
      import net.minecraft.entity.Entity;
      
      public class ModelCustomPlayer extends ModelPlayer {
      	 
          public ModelCustomPlayer(float modelSize, boolean smallArmsIn) {
          super(modelSize, smallArmsIn);
          }
       
          @Override
          public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn)
          {
              super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entityIn);
              copyModelAngles(this.bipedLeftLeg, this.bipedLeftLegwear);
              copyModelAngles(this.bipedRightLeg, this.bipedRightLegwear);
              copyModelAngles(this.bipedLeftArm, this.bipedLeftArmwear);
              copyModelAngles(this.bipedRightArm, this.bipedRightArmwear);
              copyModelAngles(this.bipedBody, this.bipedBodyWear);
       
              this.bipedLeftArm.rotateAngleZ = -0.5f;
              this.bipedRightArm.rotateAngleZ = 1.9f;
              this.bipedLeftLeg.rotateAngleZ = -0.9f;
              this.bipedRightLeg.rotateAngleZ = 0.1f;
          }
      }
      
      FeedBackF 1 réponse Dernière réponse Répondre Citer 1
      • S Hors-ligne
        sportday24
        dernière édition par

        Pour changer la hitbox tu peux utiliser ce tuto https://www.minecraftforgefrance.fr/topic/3496/changer-la-hitbox-du-joueur

        1 réponse Dernière réponse Répondre Citer 0
        • FeedBackF Hors-ligne
          FeedBack @sportday24
          dernière édition par

          @sportday24 wah merci ^^ (jai déja fait la hitbox)
          Tu sais comment modif la taille du model ?

          S 2 réponses Dernière réponse Répondre Citer 0
          • S Hors-ligne
            sportday24 @FeedBack
            dernière édition par

            @FeedBack nop dsl
            Si je trouve je te le dit (j’ai besoin aussi)

            1 réponse Dernière réponse Répondre Citer 0
            • S Hors-ligne
              sportday24 @FeedBack
              dernière édition par sportday24

              @FeedBack tiens

                  GlStateManager.scale(0.5F, 0.5F, 0.5F);
                  GlStateManager.translate(0.0F, 24.0F*0.0625F, 0.0F);
              

              tu rajoute a la suite dans ModelCustomPlayer

              FeedBackF 1 réponse Dernière réponse Répondre Citer 1
              • FeedBackF Hors-ligne
                FeedBack @sportday24
                dernière édition par

                @sportday24 j’allais te donner le code x)

                S 1 réponse Dernière réponse Répondre Citer 0
                • S Hors-ligne
                  sportday24 @FeedBack
                  dernière édition par

                  @FeedBack donne comme meme 🙂
                  (Merci)

                  FeedBackF 1 réponse Dernière réponse Répondre Citer 0
                  • FeedBackF Hors-ligne
                    FeedBack @sportday24
                    dernière édition par

                    @sportday24

                    GlStateManager.scale(0.7F, 0.7F, 0.7F);
                            GlStateManager.translate(0, 0.62, 0);
                    
                    S 1 réponse Dernière réponse Répondre Citer 0
                    • S Hors-ligne
                      sportday24 @FeedBack
                      dernière édition par

                      @FeedBack XD

                      FeedBackF 1 réponse Dernière réponse Répondre Citer 0
                      • FeedBackF Hors-ligne
                        FeedBack @sportday24
                        dernière édition par

                        @sportday24 ca met le joueur a une taille d’un block

                        S 1 réponse Dernière réponse Répondre Citer 0
                        • S Hors-ligne
                          sportday24 @FeedBack
                          dernière édition par

                          @FeedBack merci

                          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