package icbm.zhapin.muoxing.daodan;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import icbm.core.di.MICBM;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;

@SideOnly(Side.CLIENT)
public class MMLiZi extends MICBM {
    ModelRenderer A;
    ModelRenderer B;
    ModelRenderer C;
    ModelRenderer D;
    ModelRenderer E;
    ModelRenderer F;
    ModelRenderer G;
    ModelRenderer H;
    ModelRenderer I;
    ModelRenderer J;
    ModelRenderer K;
    ModelRenderer L;
    ModelRenderer M;
    ModelRenderer N;
    ModelRenderer O;
    ModelRenderer P;
    ModelRenderer Q;
    ModelRenderer R;
    ModelRenderer S;
    ModelRenderer T;
    ModelRenderer U;
    ModelRenderer V;
    ModelRenderer W;
    ModelRenderer X;
    ModelRenderer Y;
    ModelRenderer Z;
    ModelRenderer AA;
    ModelRenderer AB;
    ModelRenderer AC;
    ModelRenderer AD;
    ModelRenderer AE;
    ModelRenderer AF;
    ModelRenderer AG;
    ModelRenderer AH;
    ModelRenderer AI;
    ModelRenderer AJ;
    ModelRenderer AK;

    public MMLiZi() {
        super.textureWidth = 128;
        super.textureHeight = 128;
        (this.A = new ModelRenderer((ModelBase) this, 0, 0))
            .addBox(-4.0f, 0.0f, -4.0f, 8, 64, 8);
        this.A.setRotationPoint(0.0f, -40.0f, 0.0f);
        this.A.setTextureSize(128, 128);
        this.A.mirror = true;
        this.setRotation(this.A, 0.0f, 0.0f, 0.0f);
        (this.B = new ModelRenderer((ModelBase) this, 34, 19))
            .addBox(0.0f, 0.0f, 0.0f, 14, 10, 1);
        this.B.setRotationPoint(-7.0f, 14.0f, 6.0f);
        this.B.setTextureSize(128, 128);
        this.B.mirror = true;
        this.setRotation(this.B, 0.0f, 0.0f, 0.0f);
        (this.C = new ModelRenderer((ModelBase) this, 34, 19))
            .addBox(0.0f, 0.0f, 0.0f, 14, 10, 1);
        this.C.setRotationPoint(-7.0f, 14.0f, -7.0f);
        this.C.setTextureSize(128, 128);
        this.C.mirror = true;
        this.setRotation(this.C, 0.0f, 0.0f, 0.0f);
        (this.D = new ModelRenderer((ModelBase) this, 34, 31))
            .addBox(0.0f, 0.0f, 0.0f, 1, 10, 12);
        this.D.setRotationPoint(-7.0f, 14.0f, -6.0f);
        this.D.setTextureSize(128, 128);
        this.D.mirror = true;
        this.setRotation(this.D, 0.0f, 0.0f, 0.0f);
        (this.E = new ModelRenderer((ModelBase) this, 34, 31))
            .addBox(0.0f, 0.0f, 0.0f, 1, 10, 12);
        this.E.setRotationPoint(6.0f, 14.0f, -6.0f);
        this.E.setTextureSize(128, 128);
        this.E.mirror = true;
        this.setRotation(this.E, 0.0f, 0.0f, 0.0f);
        (this.F = new ModelRenderer((ModelBase) this, 72, 0))
            .addBox(-11.0f, 0.0f, -1.0f, 22, 12, 2);
        this.F.setRotationPoint(0.0f, 12.0f, 0.0f);
        this.F.setTextureSize(128, 128);
        this.F.mirror = true;
        this.setRotation(this.F, 0.0f, 0.7853982f, 0.0f);
        (this.G = new ModelRenderer((ModelBase) this, 72, 0))
            .addBox(-11.0f, 0.0f, -1.0f, 22, 12, 2);
        this.G.setRotationPoint(0.0f, 12.0f, 0.0f);
        this.G.setTextureSize(128, 128);
        this.G.mirror = true;
        this.setRotation(this.G, 0.0f, -0.7853982f, 0.0f);
        (this.H = new ModelRenderer((ModelBase) this, 34, 0))
            .addBox(-8.0f, -8.0f, -1.0f, 16, 16, 2);
        this.H.setRotationPoint(0.0f, 12.0f, 0.0f);
        this.H.setTextureSize(128, 128);
        this.H.mirror = true;
        this.setRotation(this.H, 0.0f, 0.7853982f, 0.7853982f);
        (this.I = new ModelRenderer((ModelBase) this, 34, 0))
            .addBox(-8.0f, -8.0f, -1.0f, 16, 16, 2);
        this.I.setRotationPoint(0.0f, 12.0f, 0.0f);
        this.I.setTextureSize(128, 128);
        this.I.mirror = true;
        this.setRotation(this.I, 0.0f, -0.7853982f, 0.7853982f);
        (this.J = new ModelRenderer((ModelBase) this, 22, 74))
            .addBox(0.0f, 0.0f, 0.0f, 2, 7, 5);
        this.J.setRotationPoint(-1.0f, -23.0f, 4.0f);
        this.J.setTextureSize(128, 128);
        this.J.mirror = true;
        this.setRotation(this.J, -0.5235988f, 0.0f, 0.0f);
        (this.K = new ModelRenderer((ModelBase) this, 0, 103))
            .addBox(0.0f, 0.0f, 0.0f, 5, 8, 2);
        this.K.setRotationPoint(4.0f, -23.0f, -1.0f);
        this.K.setTextureSize(128, 128);
        this.K.mirror = true;
        this.setRotation(this.K, 0.0f, 0.0f, 0.5235988f);
        (this.L = new ModelRenderer((ModelBase) this, 0, 81))
            .addBox(-1.0f, 0.0f, 0.0f, 2, 4, 5);
        this.L.setRotationPoint(0.0f, -35.0f, -4.0f);
        this.L.setTextureSize(128, 128);
        this.L.mirror = true;
        this.setRotation(this.L, -0.5235988f, 3.141593f, 0.0f);
        (this.M = new ModelRenderer((ModelBase) this, 0, 103))
            .addBox(0.0f, 0.0f, -1.0f, 5, 8, 2);
        this.M.setRotationPoint(-4.0f, -23.0f, 0.0f);
        this.M.setTextureSize(128, 128);
        this.M.mirror = true;
        this.setRotation(this.M, 0.0f, 3.141593f, 0.5235988f);
        (this.N = new ModelRenderer((ModelBase) this, 0, 74))
            .addBox(-1.0f, 0.0f, -8.0f, 2, 12, 16);
        this.N.setRotationPoint(0.0f, -32.0f, 0.0f);
        this.N.setTextureSize(128, 128);
        this.N.mirror = true;
        this.setRotation(this.N, 0.0f, 0.0f, 0.0f);
        (this.O = new ModelRenderer((ModelBase) this, 0, 74))
            .addBox(-1.0f, 0.0f, -8.0f, 2, 12, 16);
        this.O.setRotationPoint(0.0f, -32.0f, 0.0f);
        this.O.setTextureSize(128, 128);
        this.O.mirror = true;
        this.setRotation(this.O, 0.0f, 1.570796f, 0.0f);
        (this.P = new ModelRenderer((ModelBase) this, 22, 74))
            .addBox(-1.0f, 0.0f, 0.0f, 2, 8, 5);
        this.P.setRotationPoint(0.0f, -23.0f, -4.0f);
        this.P.setTextureSize(128, 128);
        this.P.mirror = true;
        this.setRotation(this.P, -0.5235988f, 3.141593f, 0.0f);
        (this.Q = new ModelRenderer((ModelBase) this, 0, 81))
            .addBox(-1.0f, 0.0f, 0.0f, 2, 4, 5);
        this.Q.setRotationPoint(0.0f, -35.0f, 4.0f);
        this.Q.setTextureSize(128, 128);
        this.Q.mirror = true;
        this.setRotation(this.Q, -0.5235988f, 0.0f, 0.0f);
        (this.R = new ModelRenderer((ModelBase) this, 0, 74))
            .addBox(0.0f, 0.0f, -1.0f, 5, 4, 2);
        this.R.setRotationPoint(-4.0f, -35.0f, 0.0f);
        this.R.setTextureSize(128, 128);
        this.R.mirror = true;
        this.setRotation(this.R, 0.0f, 3.141593f, 0.5235988f);
        (this.S = new ModelRenderer((ModelBase) this, 0, 74))
            .addBox(0.0f, 0.0f, 0.0f, 5, 4, 2);
        this.S.setRotationPoint(4.0f, -35.0f, -1.0f);
        this.S.setTextureSize(128, 128);
        this.S.mirror = true;
        this.setRotation(this.S, 0.0f, 0.0f, 0.5235988f);
        (this.T = new ModelRenderer((ModelBase) this, 72, 16))
            .addBox(0.0f, 0.0f, 0.0f, 10, 1, 10);
        this.T.setRotationPoint(-5.0f, -37.0f, -5.0f);
        this.T.setTextureSize(128, 128);
        this.T.mirror = true;
        this.setRotation(this.T, 0.0f, 0.0f, 0.0f);
        (this.U = new ModelRenderer((ModelBase) this, 72, 16))
            .addBox(0.0f, 0.0f, 0.0f, 10, 1, 10);
        this.U.setRotationPoint(-5.0f, -41.0f, -5.0f);
        this.U.setTextureSize(128, 128);
        this.U.mirror = true;
        this.setRotation(this.U, 0.0f, 0.0f, 0.0f);
        (this.V = new ModelRenderer((ModelBase) this, 72, 113))
            .addBox(1.0f, 0.0f, -2.0f, 3, 6, 4);
        this.V.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.V.setTextureSize(128, 128);
        this.V.mirror = true;
        this.setRotation(this.V, 0.0f, 0.0f, 0.0f);
        (this.W = new ModelRenderer((ModelBase) this, 72, 113))
            .addBox(1.0f, 0.0f, -2.0f, 3, 6, 4);
        this.W.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.W.setTextureSize(128, 128);
        this.W.mirror = true;
        this.setRotation(this.W, 0.0f, 2.094395f, 0.0f);
        (this.X = new ModelRenderer((ModelBase) this, 72, 113))
            .addBox(1.0f, 0.0f, -2.0f, 3, 6, 4);
        this.X.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.X.setTextureSize(128, 128);
        this.X.mirror = true;
        this.setRotation(this.X, 0.0f, 1.047198f, 0.0f);
        (this.Y = new ModelRenderer((ModelBase) this, 72, 113))
            .addBox(1.0f, 0.0f, -2.0f, 3, 6, 4);
        this.Y.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.Y.setTextureSize(128, 128);
        this.Y.mirror = true;
        this.setRotation(this.Y, 0.0f, 3.141593f, 0.0f);
        (this.Z = new ModelRenderer((ModelBase) this, 72, 113))
            .addBox(1.0f, 0.0f, -2.0f, 3, 6, 4);
        this.Z.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.Z.setTextureSize(128, 128);
        this.Z.mirror = true;
        this.setRotation(this.Z, 0.0f, -1.047198f, 0.0f);
        (this.AA = new ModelRenderer((ModelBase) this, 72, 113))
            .addBox(1.0f, 0.0f, -2.0f, 3, 6, 4);
        this.AA.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.AA.setTextureSize(128, 128);
        this.AA.mirror = true;
        this.setRotation(this.AA, 0.0f, -2.094395f, 0.0f);
        (this.AB = new ModelRenderer((ModelBase) this, 72, 102))
            .addBox(-6.0f, 0.0f, -1.0f, 12, 6, 2);
        this.AB.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.AB.setTextureSize(128, 128);
        this.AB.mirror = true;
        this.setRotation(this.AB, 0.0f, -2.094395f, 0.0f);
        (this.AC = new ModelRenderer((ModelBase) this, 72, 102))
            .addBox(-6.0f, 0.0f, -1.0f, 12, 6, 2);
        this.AC.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.AC.setTextureSize(128, 128);
        this.AC.mirror = true;
        this.setRotation(this.AC, 0.0f, 0.0f, 0.0f);
        (this.AD = new ModelRenderer((ModelBase) this, 72, 102))
            .addBox(-6.0f, 0.0f, -1.0f, 12, 6, 2);
        this.AD.setRotationPoint(0.0f, -47.0f, 0.0f);
        this.AD.setTextureSize(128, 128);
        this.AD.mirror = true;
        this.setRotation(this.AD, 0.0f, -1.047198f, 0.0f);
        (this.AE = new ModelRenderer((ModelBase) this, 89, 113))
            .addBox(-5.0f, 0.0f, -1.0f, 2, 6, 2);
        this.AE.setRotationPoint(0.0f, -51.0f, 0.0f);
        this.AE.setTextureSize(128, 128);
        this.AE.mirror = true;
        this.setRotation(this.AE, 0.0f, -2.094395f, 0.2617994f);
        (this.AF = new ModelRenderer((ModelBase) this, 89, 113))
            .addBox(-5.0f, 0.0f, -1.0f, 2, 6, 2);
        this.AF.setRotationPoint(0.0f, -51.0f, 0.0f);
        this.AF.setTextureSize(128, 128);
        this.AF.mirror = true;
        this.setRotation(this.AF, 0.0f, 0.0f, 0.2617994f);
        (this.AG = new ModelRenderer((ModelBase) this, 89, 113))
            .addBox(-5.0f, 0.0f, -1.0f, 2, 6, 2);
        this.AG.setRotationPoint(0.0f, -51.0f, 0.0f);
        this.AG.setTextureSize(128, 128);
        this.AG.mirror = true;
        this.setRotation(this.AG, 0.0f, -1.047198f, 0.2617994f);
        (this.AH = new ModelRenderer((ModelBase) this, 89, 113))
            .addBox(-5.0f, 0.0f, -1.0f, 2, 6, 2);
        this.AH.setRotationPoint(0.0f, -51.0f, 0.0f);
        this.AH.setTextureSize(128, 128);
        this.AH.mirror = true;
        this.setRotation(this.AH, 0.0f, 1.047198f, 0.2617994f);
        (this.AI = new ModelRenderer((ModelBase) this, 89, 113))
            .addBox(-5.0f, 0.0f, -1.0f, 2, 6, 2);
        this.AI.setRotationPoint(0.0f, -51.0f, 0.0f);
        this.AI.setTextureSize(128, 128);
        this.AI.mirror = true;
        this.setRotation(this.AI, 0.0f, 2.094395f, 0.2617994f);
        (this.AJ = new ModelRenderer((ModelBase) this, 89, 113))
            .addBox(-5.0f, 0.0f, -1.0f, 2, 6, 2);
        this.AJ.setRotationPoint(0.0f, -51.0f, 0.0f);
        this.AJ.setTextureSize(128, 128);
        this.AJ.mirror = true;
        this.setRotation(this.AJ, 0.0f, 3.141593f, 0.2617994f);
        (this.AK = new ModelRenderer((ModelBase) this, 51, 106))
            .addBox(-2.0f, 0.0f, -2.0f, 4, 11, 4);
        this.AK.setRotationPoint(0.0f, -58.0f, 0.0f);
        this.AK.setTextureSize(128, 128);
        this.AK.mirror = true;
        this.setRotation(this.AK, 0.0f, 0.0f, 0.0f);
    }

    public void render(
        final Entity entity,
        final float f,
        final float f1,
        final float f2,
        final float f3,
        final float f4,
        final float f5
    ) {
        super.render(entity, f, f1, f2, f3, f4, f5);
        this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
        this.render(f5);
    }

    @Override
    public void render(final float f5) {
        this.A.render(f5);
        this.B.render(f5);
        this.C.render(f5);
        this.D.render(f5);
        this.E.render(f5);
        this.F.render(f5);
        this.G.render(f5);
        this.H.render(f5);
        this.I.render(f5);
        this.J.render(f5);
        this.K.render(f5);
        this.L.render(f5);
        this.M.render(f5);
        this.N.render(f5);
        this.O.render(f5);
        this.P.render(f5);
        this.Q.render(f5);
        this.R.render(f5);
        this.S.render(f5);
        this.T.render(f5);
        this.U.render(f5);
        this.V.render(f5);
        this.W.render(f5);
        this.X.render(f5);
        this.Y.render(f5);
        this.Z.render(f5);
        this.AA.render(f5);
        this.AB.render(f5);
        this.AC.render(f5);
        this.AD.render(f5);
        this.AE.render(f5);
        this.AF.render(f5);
        this.AG.render(f5);
        this.AH.render(f5);
        this.AI.render(f5);
        this.AJ.render(f5);
        this.AK.render(f5);
    }

    private void
    setRotation(final ModelRenderer model, final float x, final float y, final float z) {
        model.rotateAngleX = x;
        model.rotateAngleY = y;
        model.rotateAngleZ = z;
    }
}
