Non résolu 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(); } }