Started by
gustavowizard123
on
Topic category: Help with Minecraft modding (Java Edition)
hey guys im stuck on another code part here, important one; making the tamed mob to sit (the model sit), i cant figger it out the part marked on the code below:
private void setRotation(ModelRenderer model, float x, float y, float z) {
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
// SITTING CODE
public void setLivingAnimations(T entityIn, float limbSwing, float limbSwingAmount, float partialTick) {
if (entityIn.isSitting()) { <---------------- THIS PART
this.Head.setRotationPoint(0.5F, 17F, -1F);
this.Body.setRotationPoint(0F, 18.5F, -0.5F);
this.Body.rotateAngleX = 0.5235988F;
this.ArmL.setRotationPoint(2F, 17.5F, -1F);
this.ArmL.rotateAngleX = - 0.6108652F;
this.ArmR.setRotationPoint(-1F, 17.5F, -1F);
this.ArmR.rotateAngleX = - 0.6108652F;
this.TailBase.setRotationPoint(0.5F, 21F, 4F);
this.TailTip.setRotationPoint(0.5F, 21F, 4F);
this.Face.setRotationPoint(0.5F, 17F, -1F);
this.EarL.setRotationPoint(0.5F, 17F, -1F);
this.EarR.setRotationPoint(0.5F, 17F, -1F);
this.Nose.setRotationPoint(0.5F, 17F, -1F);
this.UpLeg1.setRotationPoint(-1F, 23F, 3F);
this.UpLeg1.rotateAngleX = - 1.396263F;
this.DownLeg1.setRotationPoint(-0.9F, 20F, -1F);
this.DownLeg1.rotateAngleX = 1.570796F;
this.Foot1.setRotationPoint(-1F, 23.5F, -7F);
this.Foot1.rotateAngleX = 1.919862F;
this.UpLeg2.setRotationPoint(2F, 23F, 3F);
this.UpLeg2.rotateAngleX = - 1.396263F;
this.DownLeg2.setRotationPoint(1.9F, 27F, 1F);
this.DownLeg2.rotateAngleX = - 1.570796F;
this.Foot2.setRotationPoint(2F, 23.5F, -7F);
this.Foot2.rotateAngleX = 1.919862F;
}
else
{
this.Head.setRotationPoint(0.5F, 15F, -1F);
this.Body.setRotationPoint(0F, 16.5F, -0.5F);
this.Body.rotateAngleX = 1.047198F;
this.ArmL.setRotationPoint(2F, 15.5F, -1F);
this.ArmL.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount -0.3490659F;
this.ArmR.setRotationPoint(-1F, 15.5F, -1F);
this.ArmR.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount -0.3490659F;
this.TailBase.setRotationPoint(0.5F, 17F, 5F);
this.TailTip.setRotationPoint(0.5F, 17F, 5F);
this.Face.setRotationPoint(0.5F, 15F, -1F);
this.EarL.setRotationPoint(0.5F, 15F, -1F);
this.EarR.setRotationPoint(0.5F, 15F, -1F);
this.Nose.setRotationPoint(0.5F, 15F, -1F);
this.UpLeg1.setRotationPoint(-1F, 19F, 4.5F);
this.DownLeg1.setRotationPoint(-1F, 19F, 4.5F);
this.Foot1.setRotationPoint(-1F, 19F, 4.5F);
this.UpLeg2.setRotationPoint(2F, 19F, 4.5F);
this.DownLeg2.setRotationPoint(2F, 19F, 4.5F);
this.Foot2.setRotationPoint(2F, 19F, 4.5F);
this.UpLeg1.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount - 0.7853982F;
this.DownLeg1.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount + 0.7853982F;
this.Foot1.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount;
this.UpLeg2.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount - 0.7853982F;
this.DownLeg2.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount + 0.7853982F;
this.Foot2.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount;
}
}
// SITTING CODE END
public void setRotationAngles(Entity entity, float f, float f1, float f2, float f3, float f4) {
this.Head.rotateAngleY = f3 / (180F / (float) Math.PI);
this.Head.rotateAngleX = f4 / (180F / (float) Math.PI);
this.Face.rotateAngleY = f3 / (180F / (float) Math.PI);
this.Face.rotateAngleX = f4 / (180F / (float) Math.PI);
this.Nose.rotateAngleY = f3 / (180F / (float) Math.PI);
this.Nose.rotateAngleX = f4 / (180F / (float) Math.PI) + 0.0872665F;
this.EarL.rotateAngleY = f3 / (180F / (float) Math.PI) - 0.7853982F;
this.EarL.rotateAngleX = f4 / (180F / (float) Math.PI);
this.EarR.rotateAngleY = f3 / (180F / (float) Math.PI) + 0.7853982F;
this.EarR.rotateAngleX = f4 / (180F / (float) Math.PI);
this.TailBase.rotateAngleY = f3 / (180F / (float) Math.PI);
this.TailTip.rotateAngleY = f3 / (180F / (float) Math.PI);
apreciate help, thank you!
haha you don't really need to credit me, i just gave you some tips thats all.
as for sitting or limb movement not working, did it work before? those animations are all in your setLivingAnimations method, maybe its not being called. you're entity's renderer is extending MobRenderer, make sure it calls setLivingAnimations somewhere before it does the actual rendering in doRender. alternatively, you can put all that code in setLivingAnimations into setRotationAngles, that should always be called by vanilla renderers.