Jump to content

baby entity


relaxingleg

Recommended Posts

hi so i am making a penguin but when i try and make the baby it doesnt work and just shows up as an adult.

here is the model class:

package com.relaxingleg.randomthingsmod.client.models;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import com.relaxingleg.randomthingsmod.entities.PenguinEntity;
import net.minecraft.client.renderer.entity.model.EntityModel;
import net.minecraft.client.renderer.model.ModelRenderer;
import net.minecraft.util.math.MathHelper;

public class PenguinModel <T extends PenguinEntity> extends EntityModel<T> {
   private final ModelRenderer head;
   private final ModelRenderer left_wing;
   private final ModelRenderer right_wing;
   private final ModelRenderer body;
   private final ModelRenderer left_foot;
   private final ModelRenderer right_foot;

   public PenguinModel() {
      textureWidth = 32;
      textureHeight = 32;

      head = new ModelRenderer(this);
      head.setRotationPoint(0.0F, 19.0F, 0.0F);
      head.setTextureOffset(16, 9).addBox(-1.0F, -1.0F, -3.0F, 2.0F, 1.0F, 1.0F, 0.0F, false);
      head.setTextureOffset(0, 9).addBox(-3.0F, -3.0F, -2.0F, 6.0F, 3.0F, 4.0F, 0.0F, false);
      head.setTextureOffset(0, 16).addBox(-3.0F, -4.0F, -1.0F, 6.0F, 1.0F, 2.0F, 0.0F, false);
      head.setTextureOffset(16, 0).addBox(-2.0F, -4.0F, 1.0F, 4.0F, 1.0F, 1.0F, 0.0F, false);
      head.setTextureOffset(16, 2).addBox(-2.0F, -4.0F, -2.0F, 4.0F, 1.0F, 1.0F, 0.0F, false);

      left_wing = new ModelRenderer(this);
      left_wing.setRotationPoint(3.0F, 19.0F, 0.0F);
      left_wing.setTextureOffset(0, 19).addBox(0.0F, 0.0F, -1.0F, 1.0F, 5.0F, 2.0F, 0.0F, false);

      right_wing = new ModelRenderer(this);
      right_wing.setRotationPoint(-3.0F, 19.0F, 0.0F);
      right_wing.setTextureOffset(16, 16).addBox(-1.0F, 0.0F, -1.0F, 1.0F, 5.0F, 2.0F, 0.0F, false);

      body = new ModelRenderer(this);
      body.setRotationPoint(0.0F, 19.0F, 0.0F);
      body.setTextureOffset(0, 0).addBox(-3.0F, 0, -2.0F, 6.0F, 5.0F, 4.0F, 0.0F, false);

      left_foot = new ModelRenderer(this);
      left_foot.setRotationPoint(1.5F, 24.0F, -2.0F);
      left_foot.setTextureOffset(0, 0).addBox(-0.5F, 0.0F, -1.0F, 1.0F, 0.0F, 1.0F, 0.0F, false);

      right_foot = new ModelRenderer(this);
      right_foot.setRotationPoint(-1.5F, 24.0F, -2.0F);
      right_foot.setTextureOffset(0, 1).addBox(-0.5F, 0.0F, -1.0F, 1.0F, 0.0F, 1.0F, 0.0F, false);
   }

   @Override
   public void setRotationAngles(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
      this.head.rotateAngleX = headPitch * 0.017453292F;
      this.head.rotateAngleY = netHeadYaw * 0.017453292F;
      this.right_foot.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount;
      this.left_foot.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + 3.1415927F) * 1.4F * limbSwingAmount;
   }

   @Override
   public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){
      head.render(matrixStack, buffer, packedLight, packedOverlay);
      left_wing.render(matrixStack, buffer, packedLight, packedOverlay);
      right_wing.render(matrixStack, buffer, packedLight, packedOverlay);
      body.render(matrixStack, buffer, packedLight, packedOverlay);
      left_foot.render(matrixStack, buffer, packedLight, packedOverlay);
      right_foot.render(matrixStack, buffer, packedLight, packedOverlay);
   }
}

The entity class:

package com.relaxingleg.randomthingsmod.entities;

import com.relaxingleg.randomthingsmod.init.ModEntityTypes;
import net.minecraft.entity.*;
import net.minecraft.entity.ai.goal.*;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.world.World;

public class PenguinEntity extends AnimalEntity {

    private static final Ingredient TEMPTATION_ITEMS = Ingredient.fromItems(Items.COD, Items.SALMON, Items.TROPICAL_FISH, Items.COOKED_COD, Items.COOKED_SALMON);

    public PenguinEntity(EntityType<? extends AnimalEntity> type, World worldIn) {
        super(type, worldIn);
    }

    @Override
    public AgeableEntity createChild(AgeableEntity ageableEntity) {
        return ModEntityTypes.PENGUIN.get().create(this.world);
    }

    @Override
    protected void registerGoals() {
        super.registerGoals();
        this.goalSelector.addGoal(0, new BreedGoal(this, 1d));
        this.goalSelector.addGoal(1, new TemptGoal(this, 1.1d, TEMPTATION_ITEMS, false));
        this.goalSelector.addGoal(2, new LookAtGoal(this, PlayerEntity.class, 6.0f));
        this.goalSelector.addGoal(3, new SwimGoal(this));
        this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.1d));
        this.goalSelector.addGoal(5, new PanicGoal(this, 1.25d));
        this.goalSelector.addGoal(6, new WaterAvoidingRandomWalkingGoal(this, 1.0d));
        this.goalSelector.addGoal(7, new LookRandomlyGoal(this));
    }

    @Override
    protected void registerAttributes() {
        super.registerAttributes();
        this.getAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(10);
        this.getAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.17d);
    }

    @Override
    public boolean isBreedingItem(ItemStack stack) {
        return TEMPTATION_ITEMS.test(stack);
    }
}

 

could someone please tell me what i am doing wrong or what i am missing

if you need any more code just say and i will give it to you

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.