Model EntityThrowable



  • Bonjour, j'ai crée un entité qui me permet de faire exploser des choses mais je n'arrive toujours pas à lui mettre un model.

    Render(essais qui ne marche pas)

    package com.extremium.mod.renders;
    
    import com.extremium.mod.Reference;
    import com.extremium.mod.entity.EntityStaminaBall;
    
    import net.minecraft.client.model.ModelBase;
    import net.minecraft.client.renderer.entity.RenderLiving;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.entity.monster.EntityMob;
    import net.minecraft.entity.projectile.EntityThrowable;
    import net.minecraft.util.ResourceLocation;
    
    public class RenderStamina extends RenderLiving
    {
    
        public final ResourceLocation texture = new ResourceLocation(Reference.MOD_ID + ":textures/entity/Stamina.png");
        
           
            private static final String __OBFID = "CL_00001008";
         
            public RenderStamina(ModelBase p_i1262_1_, float p_i1262_2_)
            {
                super(p_i1262_1_, p_i1262_2_);
            }
         
            protected ResourceLocation getEntityTexture(EntityMob living)
            {
                return this.getEntityTexture((EntityStaminaBall) living);
            }
         
            @Override
            protected ResourceLocation getEntityTexture(Entity entity)
            {
                return texture;
            }
            
    }
    

    model

    // Date: 28/09/2019 15:18:56
    // Template version 1.1
    // Java generated by Techne
    // Keep in mind that you still need to fill in some blanks
    // - ZeuX
    
    
    
    
    
    
    package com.extremium.mod.models;
    
    import net.minecraft.client.model.ModelBase;
    import net.minecraft.client.model.ModelRenderer;
    import net.minecraft.entity.Entity;
    
    public class Stamina extends ModelBase
    {
      //fields
        ModelRenderer Shape1;
        ModelRenderer Shape2;
        ModelRenderer Shape3;
        ModelRenderer Shape4;
        ModelRenderer Shape5;
        ModelRenderer Shape6;
        ModelRenderer Shape7;
      
      public Stamina()
      {
        textureWidth = 128;
        textureHeight = 128;
        
          Shape1 = new ModelRenderer(this, 0, 0);
          Shape1.addBox(0F, 0F, 0F, 16, 16, 16);
          Shape1.setRotationPoint(-8F, 7F, -8F);
          Shape1.setTextureSize(128, 128);
          Shape1.mirror = true;
          setRotation(Shape1, 0F, 0F, 0F);
          Shape2 = new ModelRenderer(this, 0, 50);
          Shape2.addBox(0F, 0F, 0F, 1, 14, 14);
          Shape2.setRotationPoint(8F, 8F, -7F);
          Shape2.setTextureSize(128, 128);
          Shape2.mirror = true;
          setRotation(Shape2, 0F, 0F, 0F);
          Shape3 = new ModelRenderer(this, 0, 50);
          Shape3.addBox(0F, 0F, 0F, 1, 14, 14);
          Shape3.setRotationPoint(-9F, 8F, -7F);
          Shape3.setTextureSize(128, 128);
          Shape3.mirror = true;
          setRotation(Shape3, 0F, 0F, 0F);
          Shape4 = new ModelRenderer(this, 0, 0);
          Shape4.addBox(0F, 0F, 0F, 14, 1, 14);
          Shape4.setRotationPoint(-7F, 23F, -7F);
          Shape4.setTextureSize(128, 128);
          Shape4.mirror = true;
          setRotation(Shape4, 0F, 0F, 0F);
          Shape5 = new ModelRenderer(this, 0, 0);
          Shape5.addBox(0F, 0F, 0F, 14, 1, 14);
          Shape5.setRotationPoint(-7F, 6F, -7F);
          Shape5.setTextureSize(128, 128);
          Shape5.mirror = true;
          setRotation(Shape5, 0F, 0F, 0F);
          Shape6 = new ModelRenderer(this, 0, 50);
          Shape6.addBox(0F, 0F, 0F, 14, 14, 1);
          Shape6.setRotationPoint(-7F, 8F, 8F);
          Shape6.setTextureSize(128, 128);
          Shape6.mirror = true;
          setRotation(Shape6, 0F, 0F, 0F);
          Shape7 = new ModelRenderer(this, 0, 50);
          Shape7.addBox(0F, 0F, 0F, 14, 14, 1);
          Shape7.setRotationPoint(-7F, 8F, -9F);
          Shape7.setTextureSize(128, 128);
          Shape7.mirror = true;
          setRotation(Shape7, 0F, 0F, 0F);
      }
      
      public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
      {
        super.render(entity, f, f1, f2, f3, f4, f5);
        setRotationAngles(f, f1, f2, f3, f4, f5, entity);
        Shape1.render(f5);
        Shape2.render(f5);
        Shape3.render(f5);
        Shape4.render(f5);
        Shape5.render(f5);
        Shape6.render(f5);
        Shape7.render(f5);
      }
      
      private void setRotation(ModelRenderer model, float x, float y, float z)
      {
        model.rotateAngleX = x;
        model.rotateAngleY = y;
        model.rotateAngleZ = z;
      }
      
      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);
      }
    
    }
    
    

    Entité

    package com.extremium.mod.entity;
    
    import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
    import io.netty.buffer.ByteBuf;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.projectile.EntityThrowable;
    import net.minecraft.util.MovingObjectPosition;
    import net.minecraft.world.World;
    
    public class EntityStaminaBall extends EntityThrowable implements IEntityAdditionalSpawnData
    {
        private int fuseTime = 40;
    
        public EntityStaminaBall(World world)
        {
            super(world);
        }
    
        public EntityStaminaBall(World world, EntityLivingBase thrower)
        {
            super(world, thrower);
        }
    
        public EntityStaminaBall(World world, double x, double y, double z)
        {
            super(world, x, y, z);
        }
    
        protected void onImpact(MovingObjectPosition mop)
        {
            this.motionX = 0;
            this.motionY = 0;
            this.motionZ = 0;
            if (!this.worldObj.isRemote)
            {
    
            }
        }       
        @Override
        public void onUpdate()
        {
            super.onUpdate();
            if(this.fuseTime > 0)
            {
                this.fuseTime --;
            }
    
            else if(!this.worldObj.isRemote)
            {
                this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 5.0F, false, true);
                this.setDead();
            }
    
        }
    
        @Override
        public void writeSpawnData(ByteBuf buffer)
        {
            buffer.writeInt(this.fuseTime);
        }
    
        @Override
        public void readSpawnData(ByteBuf additionalData)
        {
            this.fuseTime = additionalData.readInt();
        }
     }
    
    

Log in to reply