вращение shape's

Версия Minecraft
1.12.2
Здравствуйте, я сделал 3D броню по учебнику. Всё работает. В общем у меня вопрос, как заставить модели(shape1/2/3) вращаться вокруг своей оси?
код:
Java:
public class RedTornadoModel extends ModelBiped
{
    ModelRenderer Shape1;
    ModelRenderer Shape2;
    ModelRenderer Shape3;
    
    public RedTornadoModel(float f){

        textureWidth = 64;
        textureHeight = 32;
        
        Shape1 = new ModelRenderer(this, 32, 0);
        Shape1.addBox(0F, 0F, 0F, 8, 8, 8);
        Shape1.setRotationPoint(-4F, 14F, -4F);
        Shape1.setTextureSize(64, 32);
        Shape1.mirror = true;
        setRotation(Shape1, 0F, 0F, 0F);
        Shape2 = new ModelRenderer(this, 34, 1);
        Shape2.addBox(0F, 0F, 0F, 7, 7, 7);
        Shape2.setRotationPoint(-3.5F, 22F, -3.5F);
        Shape2.setTextureSize(64, 32);
        Shape2.mirror = true;
        setRotation(Shape2, 0F, 0F, 0F);
        Shape3 = new ModelRenderer(this, 36, 3);
        Shape3.addBox(0F, 0F, 0F, 6, 6, 6);
        Shape3.setRotationPoint(-3F, 29F, -3F);
        Shape3.setTextureSize(64, 32);
        Shape3.mirror = true;
        setRotation(Shape3, 0F, 0F, 0F);
      
        this.bipedHeadwear.isHidden = true;
      }
      
      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);
        if(entity.onGround) {
        } else {
        Shape3.render(f5);
        Shape2.render(f5);
        Shape1.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);
      }

    }
 
7,099
324
1,510
Java:
glTranslate(-x, -y, -z)
glRotate(rotate, 0, 1, 0)
Shape3.render(f5);
glRotate(-rotate, 0, 1, 0)//чтобы на другие шейпы не влияло. или можно юзать push/pop matrix
glTranslate(x, y, z)
 
Сверху