package com.flansmod.client.model.yeolde; import com.flansmod.client.model.ModelPlane; import com.flansmod.client.tmt.ModelRendererTurbo; public class ModelBiplane extends ModelPlane { public ModelBiplane() { int textureX = 128; //The width of the texture int textureY = 64; //The height of the texture //The propeller //All pieces may be identical. The renderer handles the rotation of the blades relative to each other propellerModels = new ModelRendererTurbo[1][3]; propellerModels[0][0] = new ModelRendererTurbo(this, 56, 8, textureX, textureY); //Propeller 0 - Blade 0 : 56, 8 is the texture origin propellerModels[0][1] = new ModelRendererTurbo(this, 56, 8, textureX, textureY); //Propeller 0 - Blade 1 propellerModels[0][2] = new ModelRendererTurbo(this, 56, 8, textureX, textureY); //Propeller 0 - Blade 2 propellerModels[0][0].addBox(-1F, 2F, -1F, 2, 5, 2, 0.0F); //Model the propeller blade by adding a box propellerModels[0][1].addBox(-1F, 2F, -1F, 2, 5, 2, 0.0F); //First come the origin coordinates and then the size propellerModels[0][2].addBox(-1F, 2F, -1F, 2, 5, 2, 0.0F); //Set the origin around which the propeller rotates propellerModels[0][0].setRotationPoint(-14, 0, 0); propellerModels[0][1].setRotationPoint(-14, 0, 0); propellerModels[0][2].setRotationPoint(-14, 0, 0); //Yaw flap yawFlapModel = new ModelRendererTurbo[1]; yawFlapModel[0] = new ModelRendererTurbo(this, 104, 0, textureX, textureY); yawFlapModel[0].addBox(0F, 0F , 0F, 10, 10, 2, 0.0F); yawFlapModel[0].setPosition(40F, -12F, -1F); //Left pitch flap pitchFlapLeftModel = new ModelRendererTurbo[1]; pitchFlapLeftModel[0] = new ModelRendererTurbo(this, 104, 0, textureX, textureY); pitchFlapLeftModel[0].addBox(0F, 0F , 0F, 10, 15, 2, 0.0F); pitchFlapLeftModel[0].rotateAngleX = pi / 2; pitchFlapLeftModel[0].setPosition(40F, 3F, -15F); //Right pitch flap pitchFlapRightModel = new ModelRendererTurbo[1]; pitchFlapRightModel[0] = new ModelRendererTurbo(this, 104, 0, textureX, textureY); pitchFlapRightModel[0].addBox(0F, 0F , 0F, 10, 15, 2, 0.0F); pitchFlapRightModel[0].rotateAngleX = pi / 2; pitchFlapRightModel[0].setPosition(40F, 3F, 0F); //Front wheels with struts bodyWheelModel = new ModelRendererTurbo[4]; bodyWheelModel[0] = new ModelRendererTurbo(this, 0, 32, textureX, textureY); bodyWheelModel[1] = new ModelRendererTurbo(this, 0, 32, textureX, textureY); bodyWheelModel[2] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); bodyWheelModel[3] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); bodyWheelModel[0].addBox(-4F, 11F, 5F, 4, 4, 2, 0.0F); //Left wheel bodyWheelModel[1].addBox(-4F, 11F, -7F, 4, 4, 2, 0.0F); //Right wheel bodyWheelModel[2].addBox(-3F, 6F , 5F, 2, 5, 2, 0.0F); //Left Strut bodyWheelModel[3].addBox(-3F, 6F , -7F, 2, 5, 2, 0.0F); //Right Strut //Defining lots of texture origins for the body model bodyModel = new ModelRendererTurbo[6]; bodyModel[0] = new ModelRendererTurbo(this, 0, 8, textureX, textureY); bodyModel[1] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); bodyModel[2] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); bodyModel[3] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); bodyModel[4] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); bodyModel[5] = new ModelRendererTurbo(this, 44, 0, textureX, textureY); //Old boat code. A bit messy, but don't feel like re-writing byte length = 24; byte sidePieceHeight = 6; byte width = 20; byte boatDepth = 4; bodyModel[0].addBox(-length / 2, -width / 2 + 2, -3F, length, width - 4, 4, 0.0F); bodyModel[0].setPosition(0.0F, boatDepth, 0.0F); bodyModel[1].addBox(-length / 2 + 2, -sidePieceHeight - 1, -1F, length - 4, sidePieceHeight, 2, 0.0F); bodyModel[1].setPosition(-length / 2 + 1, boatDepth, 0.0F); bodyModel[2].addBox(-length / 2 + 2, -sidePieceHeight - 1, -1F, length - 4, sidePieceHeight, 2, 0.0F); bodyModel[2].setPosition(length / 2 - 1, boatDepth, 0.0F); bodyModel[3].addBox(-length / 2 + 2, -sidePieceHeight - 1, -1F, length - 4, sidePieceHeight, 2, 0.0F); bodyModel[3].setPosition(0.0F, boatDepth, -width / 2 + 1); bodyModel[4].addBox(-length / 2 + 2, -sidePieceHeight - 1, -1F, length - 4, sidePieceHeight, 2, 0.0F); bodyModel[4].setPosition(0.0F, boatDepth, width / 2 - 1); bodyModel[5].addBox(0F, 0F , 0F, 4, 4, 4, 0.0F); //Propeller Centre bodyModel[5].setPosition(-15F, -2F, -2F); bodyModel[0].rotateAngleX = pi / 2; bodyModel[1].rotateAngleY = 3 * pi / 2; bodyModel[2].rotateAngleY = pi / 2; bodyModel[3].rotateAngleY = pi; //Right wing rightWingModel = new ModelRendererTurbo[5]; rightWingModel[0] = new ModelRendererTurbo(this, 64 , 0, textureX, textureY); rightWingModel[1] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); rightWingModel[2] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); rightWingModel[3] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); rightWingModel[4] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); rightWingModel[0].addBox(0F, 0F, 0F, 18, 41, 2, 0.0F); rightWingModel[0].rotateAngleX = -pi / 2; rightWingModel[0].setPosition(-9F, 0F, -9F); rightWingModel[1].addBox(-7F, -18F , -40F, 2, 18, 2, 0.0F); rightWingModel[2].addBox(5F, -18F , -40F, 2, 18, 2, 0.0F); rightWingModel[3].addBox(-7F, -18F , -16F, 2, 18, 2, 0.0F); rightWingModel[4].addBox(5F, -18F , -16F, 2, 18, 2, 0.0F); //Left wing leftWingModel = new ModelRendererTurbo[5]; leftWingModel[0] = new ModelRendererTurbo(this, 64, 0, textureX, textureY); leftWingModel[1] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); leftWingModel[2] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); leftWingModel[3] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); leftWingModel[4] = new ModelRendererTurbo(this, 56, 15, textureX, textureY); leftWingModel[0].addBox(0F, 0F , 0F, 18, 41, 2 , 0.0F); leftWingModel[0].rotateAngleX = -pi / 2; leftWingModel[0].setPosition(-9F, 0F, 50F); leftWingModel[1].addBox(-7F, -18F , 38F, 2, 18, 2, 0.0F); leftWingModel[2].addBox(5F, -18F , 38F, 2, 18, 2, 0.0F); leftWingModel[3].addBox(-7F, -18F , 14F, 2, 18, 2, 0.0F); leftWingModel[4].addBox(5F, -18F , 14F, 2, 18, 2, 0.0F); //Top wing (in 3 parts) topWingModel = new ModelRendererTurbo[3]; topWingModel[0] = new ModelRendererTurbo(this, 64, 0, textureX, textureY); topWingModel[1] = new ModelRendererTurbo(this, 64, 0, textureX, textureY); topWingModel[2] = new ModelRendererTurbo(this, 64, 0, textureX, textureY); topWingModel[0].addBox(0F, 0F, 0F, 18, 18, 2, 0.0F); //Top Middle Wing topWingModel[0].rotateAngleX = -pi / 2; topWingModel[0].setPosition(-9F, -20F, 9F); topWingModel[1].addBox(0F, 0F , 0F, 18, 41, 2, 0.0F); //Top Left Wing topWingModel[1].rotateAngleX = -pi / 2; topWingModel[1].setPosition(-9F, -20F, 50F); topWingModel[2].addBox(0F, 0F, 0F, 18, 41, 2, 0.0F); //Top Right Wing topWingModel[2].rotateAngleX = -pi / 2; topWingModel[2].setPosition(-9F, -20F, -9F); //Tail tailModel = new ModelRendererTurbo[1]; tailModel[0] = new ModelRendererTurbo(this, 0, 43, textureX, textureY); tailModel[0].addBox(11F, -2F , -5F, 40, 8, 10, 0.0F); //Tail wheel tailWheelModel = new ModelRendererTurbo[1]; tailWheelModel[0] = new ModelRendererTurbo(this, 0, 32, textureX, textureY); tailWheelModel[0].addBox(44F, 6F, -1F, 4, 4, 2, 0.0F); flipAll(); //Call this function to flip everything in X and Y. For correcting old models. } }