package viruz.zeamateis.specialModels.mobs; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; import org.lwjgl.opengl.GL11; public class ModelCrawler extends ModelBase { //fields ModelRenderer bipedHead; ModelRenderer bipedHeadwear; ModelRenderer body; ModelRenderer bipedRightArm; ModelRenderer bipedLeftArm; public ModelCrawler() { textureWidth = 64; textureHeight = 64; bipedHead = new ModelRenderer(this, 0, 0); bipedHead.addBox(-4F, -8F, -4F, 8, 8, 8); bipedHead.setRotationPoint(0F, 21F, -4F); bipedHead.setTextureSize(64, 32); bipedHead.mirror = true; setRotation(bipedHead, 0F, 0F, 0F); body = new ModelRenderer(this, 16, 16); body.addBox(-4F, 0F, -2F, 8, 12, 4); body.setRotationPoint(0F, 21F, -4F); body.setTextureSize(64, 32); body.mirror = true; setRotation(body, 1.48353F, 0F, 0F); bipedRightArm = new ModelRenderer(this, 40, 16); bipedRightArm.addBox(-3F, -2F, -2F, 4, 12, 4); bipedRightArm.setRotationPoint(-5F, 21F, -2F); bipedRightArm.setTextureSize(64, 32); bipedRightArm.mirror = true; setRotation(bipedRightArm, -1.48353F, 0F, 0F); bipedLeftArm = new ModelRenderer(this, 40, 16); bipedLeftArm.addBox(-1F, -2F, -2F, 4, 12, 4); bipedLeftArm.setRotationPoint(5F, 21F, -2F); bipedLeftArm.setTextureSize(64, 32); bipedLeftArm.mirror = true; setRotation(bipedLeftArm, -1.48353F, 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); bipedHead.render(f5); body.render(f5); bipedRightArm.render(f5); bipedLeftArm.render(f5); } private void setRotation(ModelRenderer modelrenderer, float par1, float par2, float par3) { modelrenderer.rotateAngleX = par1; modelrenderer.rotateAngleY = par2; modelrenderer.rotateAngleZ = par3; } @Override public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity parEntity) { super.setRotationAngles(par1, par2, par3, par4, par5, par6, parEntity); bipedLeftArm.rotateAngleY = MathHelper.cos(par1 * 0.6662F) * 1.4F * par2; bipedRightArm.rotateAngleY = MathHelper.cos(par1 * 0.6662F + (float) Math.PI) * 1.4F * par2; } }