Package com.flansmod.client.tmt

Examples of com.flansmod.client.tmt.ModelRendererTurbo


    int textureX = 64;
    int textureY = 16;
   
    gunModel = new ModelRendererTurbo[13];
   
    gunModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    gunModel[0].addShapeBox(-12F, 1F, -1F, 9, 3, 2, 0F, /* 0 */ 0F, 0F, 0F, /* 1 */ 0F, -1F, 0F, /* 2 */ 0F, -1F, 0F, /* 3 */ 0F, 0F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, 0F, 0F)
   
    gunModel[1] = new ModelRendererTurbo(this, 22, 0, textureX, textureY);
    gunModel[1].addBox(-3F, 1F, -1F, 3, 3, 2);
   
    gunModel[2] = new ModelRendererTurbo(this, 32, 0, textureX, textureY);
    gunModel[2].addShapeBox(-3F, -2F, -1F, 2, 3, 2, 0F, /* 0 */ 1F, 0F, 0F, /* 1 */ -1F, 0F, 0F, /* 2 */ -1F, 0F, 0F, /* 3 */ 1F, 0F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, 0F, 0F)
   
    gunModel[3] = new ModelRendererTurbo(this, 0, 5, textureX, textureY);
    gunModel[3].addBox(-2F, 4F, -1F, 10, 1, 2)
   
    //Round bit before drum
    gunModel[4] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    gunModel[4].addBox(0F, -2F, -1F, 1, 6, 2);
   
    gunModel[5] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    gunModel[5].addShapeBox(0F, -2F, 1F, 1, 6, 2, 0F, /* 0 */ 0F, 0F, 0F, /* 1 */ 0F, 0F, 0F, /* 2 */ 0F, -1.5F, 0F, /* 3 */ 0F, -1.5F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, -1.5F, 0F, /* 7 */ 0F, -1.5F, 0F)

    gunModel[6] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    gunModel[6].addShapeBox(0F, -2F, -3F, 1, 6, 2, 0F, /* 0 */ 0F, -1.5F, 0F, /* 1 */ 0F, -1.5F, 0F, /* 2 */ 0F, 0F, 0F, /* 3 */ 0F, 0F, 0F, /* 4 */ 0F, -1.5F, 0F, /* 5 */ 0F, -1.5F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, 0F, 0F)
   
    //Round bit after drum
    gunModel[7] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    gunModel[7].addBox(7F, -2F, -1F, 1, 6, 2);
   
    gunModel[8] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    gunModel[8].addShapeBox(7F, -2F, 1F, 1, 6, 2, 0F, /* 0 */ 0F, 0F, 0F, /* 1 */ 0F, 0F, 0F, /* 2 */ 0F, -1.5F, 0F, /* 3 */ 0F, -1.5F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, -1.5F, 0F, /* 7 */ 0F, -1.5F, 0F)

    gunModel[9] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    gunModel[9].addShapeBox(7F, -2F, -3F, 1, 6, 2, 0F, /* 0 */ 0F, -1.5F, 0F, /* 1 */ 0F, -1.5F, 0F, /* 2 */ 0F, 0F, 0F, /* 3 */ 0F, 0F, 0F, /* 4 */ 0F, -1.5F, 0F, /* 5 */ 0F, -1.5F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, 0F, 0F)
 
    //Bit under drum
    gunModel[10] = new ModelRendererTurbo(this, 22, 13, textureX, textureY);
    gunModel[10].addBox(0F, -3F, -1F, 8, 1, 2);
   
    //Barrel
    gunModel[11] = new ModelRendererTurbo(this, 22, 9, textureX, textureY);
    gunModel[11].addBox(8F, 1.5F, -1F, 8, 2, 2);
   
    gunModel[12] = new ModelRendererTurbo(this, 40, 0, textureX, textureY);
    gunModel[12].addBox(8F, 1F, -1.5F, 4, 3, 3);
   
    revolverBarrelModel = new ModelRendererTurbo[3];
   
    revolverBarrelModel[0] = new ModelRendererTurbo(this, 6, 8, textureX, textureY);
    revolverBarrelModel[0].addBox(1F, -2F, -1F, 6, 6, 2);
   
    revolverBarrelModel[1] = new ModelRendererTurbo(this, 6, 8, textureX, textureY);
    revolverBarrelModel[1].addShapeBox(1F, -2F, 1F, 6, 6, 2, 0F, /* 0 */ 0F, 0F, 0F, /* 1 */ 0F, 0F, 0F, /* 2 */ 0F, -1.5F, 0F, /* 3 */ 0F, -1.5F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, -1.5F, 0F, /* 7 */ 0F, -1.5F, 0F)

    revolverBarrelModel[2] = new ModelRendererTurbo(this, 6, 8, textureX, textureY);
    revolverBarrelModel[2].addShapeBox(1F, -2F, -3F, 6, 6, 2, 0F, /* 0 */ 0F, -1.5F, 0F, /* 1 */ 0F, -1.5F, 0F, /* 2 */ 0F, 0F, 0F, /* 3 */ 0F, 0F, 0F, /* 4 */ 0F, -1.5F, 0F, /* 5 */ 0F, -1.5F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, 0F, 0F)

    revolverFlipAngle = -90F;
   
    revolverFlipPoint = new Vector3f(0F, -2.5F / 16F, 0F);
   
    ammoModel = new ModelRendererTurbo[6];
   
    for(int i = 0; i < 6; i++)
    {
      ammoModel[i] = new ModelRendererTurbo(this, 42, 12, textureX, textureY);
      ammoModel[i].addBox(0.9F, -2.75F, -0.75F, 4, 1.5F, 1.5F);
      ammoModel[i].setRotationPoint(0F, 1F, 0F);
      ammoModel[i].rotateAngleX = (float)Math.PI / 3F * i;
    }

 
View Full Code Here


    int textureX = 64;
    int textureY = 16;
   
    gunModel = new ModelRendererTurbo[4];
   
    gunModel[0] = new ModelRendererTurbo(this, 0, 10, textureX, textureY);
    gunModel[0].addBox(-12F, 1F, -1.5F, 26, 3, 3);
   
    gunModel[1] = new ModelRendererTurbo(this, 0, 7, textureX, textureY);
    gunModel[1].addBox(-12F, 4F, -1F, 3, 1, 2);
   
    gunModel[2] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    gunModel[2].addBox(0F, 4F, -1F, 14, 1, 2);
   
    gunModel[3] = new ModelRendererTurbo(this, 0, 3, textureX, textureY);
    gunModel[3].addBox(0F, 5F, -0.5F, 1, 2, 1);
   
    //Scope
    scopeAttachPoint = new Vector3f(1.5F / 16F, 5F / 16F, 0F);
   
View Full Code Here

    int textureX = 16;
    int textureY = 16;
   
    gunModel = new ModelRendererTurbo[4];
   
    gunModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    gunModel[0].addBox(-1F, -6F, -1F, 2, 6, 2);
   
    gunModel[1] = new ModelRendererTurbo(this, 8, 0, textureX, textureY);
    gunModel[1].addBox(-1F, 0F, -0.5F, 2, 6, 1);

    gunModel[2] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    gunModel[2].addShapeBox(1F, 2F, -0.5F, 4, 4, 1, 0F, /* 0 */ 0F, -3F, 0F, /* 1 */ 0F, 0F, -0.5F, /* 2 */ 0F, 0F, -0.5F, /* 3 */ 0F, -3F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, 0F, -0.5F, /* 6 */ 0F, 0F, -0.5F, /* 7 */ 0F, 0F, 0F)

    gunModel[3] = new ModelRendererTurbo(this, 0, 13, textureX, textureY);
    gunModel[3].addShapeBox(-4F, 4F, -0.5F, 3, 2, 1, 0F, /* 0 */ 0F, 0F, -0.5F, /* 1 */ 0F, -1F, 0F, /* 2 */ 0F, -1F, 0F, /* 3 */ 0F, 0F, -0.5F, /* 4 */ 0F, 0F, -0.5F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, 0F, -0.5F)

    for(int i = 0; i < 4; i++)
      gunModel[i].setRotationPoint(0F, 6F, 0F);
   
View Full Code Here

    int textureX = 16;
    int textureY = 8;
   
    gunModel = new ModelRendererTurbo[3];
   
    gunModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    gunModel[0].addBox(-4F, -1F, -0.7F, 3, 2, 1.4F);
   
    gunModel[1] = new ModelRendererTurbo(this, 10, 0, textureX, textureY);
    gunModel[1].addBox(-1F, -1.5F, -1F, 1, 3, 2);
   
    gunModel[2] = new ModelRendererTurbo(this, 0, 5, textureX, textureY);
    gunModel[2].addShapeBox(0F, -1F, -0.5F, 5, 2, 1, 0F, /* 0 */ 0F, 0F, 0F, /* 1 */ -1F, 0F, 0F, /* 2 */ -1F, 0F, 0F, /* 3 */ 0F, 0F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, 0F, 0F)
   
    for(int i = 0; i < 3; i++)
      gunModel[i].setRotationPoint(4F, 0F, 0F);
   
View Full Code Here

    int textureX = 16;
    int textureY = 4;
   
    attachmentModel = new ModelRendererTurbo[1];
   
    attachmentModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    attachmentModel[0].addBox(0F, -1F, -1F, 6, 2, 2);
  }
View Full Code Here

    int textureX = 64;
    int textureY = 32;
   
    headModel = new ModelRendererTurbo[4];
   
    headModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    headModel[0].addBox(-4.5F, -9F, -4.5F, 9, 9, 9);
   
    headModel[1] = new ModelRendererTurbo(this, 0, 18, textureX, textureY);
    headModel[1].addBox(-3F, -6.5F, -7.5F, 2, 2, 3);
   
    headModel[2] = new ModelRendererTurbo(this, 0, 18, textureX, textureY);
    headModel[2].addBox(1F, -6.5F, -7.5F, 2, 2, 3);

    headModel[3] = new ModelRendererTurbo(this, 0, 23, textureX, textureY);
    headModel[3].addBox(-2F, -3.5F, -6.5F, 4, 4, 2);
  }
View Full Code Here

    int textureX = 64;
    int textureY = 32;
   
    leftLegModel = new ModelRendererTurbo[2];
   
    leftLegModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    leftLegModel[0].addBox(-2.1F, -1F, -2.5F, 5, 10, 5);

    leftLegModel[1] = new ModelRendererTurbo(this, 0, 15, textureX, textureY);
    leftLegModel[1].addBox(-1F, 3F, -3.5F, 3, 4, 1);

    rightLegModel = new ModelRendererTurbo[2];
   
    rightLegModel[0] = new ModelRendererTurbo(this, 20, 0, textureX, textureY);
    rightLegModel[0].addBox(-2.9F, -1F, -2.5F, 5, 10, 5);

    rightLegModel[1] = new ModelRendererTurbo(this, 8, 15, textureX, textureY);
    rightLegModel[1].addBox(-2F, 3F, -3.5F, 3, 4, 1);

  }
View Full Code Here

    int textureY = 16;
   
    gunModel = new ModelRendererTurbo[3];
   
    //Main Barrel
    gunModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    gunModel[0].addBox(-4F, 2F, -1F, 16, 2, 2);
   
    gunModel[1] = new ModelRendererTurbo(this, 26, 4, textureX, textureY);
    gunModel[1].addBox(12F, 2.5F, -0.5F, 8, 1, 1);
   
    //Trigger Handle
    gunModel[2] = new ModelRendererTurbo(this, 0, 4, textureX, textureY);
    gunModel[2].addBox(-1F, -2F, -1F, 3, 4, 2);
   
    //Bolt
    slideModel = new ModelRendererTurbo[2];
   
    slideModel[0] = new ModelRendererTurbo(this, 34, 6, textureX, textureY);
    slideModel[0].addTrapezoid(3F, 2.5F, 0.5F, 1, 1, 2, 0F, -0.5F, ModelRendererTurbo.MR_FRONT);
    slideModel[0].doMirror(false, false, true);
    slideModel[1] = new ModelRendererTurbo(this, 34, 6, textureX, textureY);
    slideModel[1].addTrapezoid(3F, 2.5F, 0.5F, 1, 1, 2, 0F, -0.5F, ModelRendererTurbo.MR_FRONT);
   
    //Scope
    defaultScopeModel = new ModelRendererTurbo[3];
   
    defaultScopeModel[0] = new ModelRendererTurbo(this, 0, 10, textureX, textureY);
    defaultScopeModel[0].addTrapezoid(-1F, 4.25F, -1F, 4, 2, 2, 0F, -0.5F, ModelRendererTurbo.MR_LEFT);
   
    defaultScopeModel[1] = new ModelRendererTurbo(this, 12, 10, textureX, textureY);
    defaultScopeModel[1].addTrapezoid(3F, 4.25F, -1F, 4, 2, 2, 0F, -0.5F, ModelRendererTurbo.MR_RIGHT);
   
    defaultScopeModel[2] = new ModelRendererTurbo(this, 10, 7, textureX, textureY);
    defaultScopeModel[2].addBox(1.5F, 3.5F, -0.5F, 3, 2, 1);
   
    scopeAttachPoint = new Vector3f(3F / 16F, 5F / 16F, 0F);
   
    //Barrel
    defaultBarrelModel = new ModelRendererTurbo[1];
   
    defaultBarrelModel[0] = new ModelRendererTurbo(this, 18, 4, textureX, textureY);
    defaultBarrelModel[0].addBox(18.5F, 2F, -1F, 2, 2, 2);
   
    barrelAttachPoint = new Vector3f(20F / 16F, 4F / 16F, 0F);
   
    //Stock
    defaultStockModel = new ModelRendererTurbo[1];
    defaultStockModel[0] = new ModelRendererTurbo(this, 36, 9, textureX, textureY);
    defaultStockModel[0].addBox(-8F, 0F, -1F, 4, 3, 2);
   
    stockAttachPoint = new Vector3f(-4F / 16F, 1F / 16F, 0F);
   
    //Ammo
    ammoModel = new ModelRendererTurbo[1];
   
    ammoModel[0] = new ModelRendererTurbo(this, 24, 8, textureX, textureY);
    ammoModel[0].addBox(2.5F, -3F, -1F, 4, 5, 2);
   
    translateAll(0, 1, 0);
   
    gunSlideDistance = 0.5F;
View Full Code Here

    int textureX = 64;
    int textureY = 16;
   
    gunModel = new ModelRendererTurbo[4];
   
    gunModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    gunModel[0].addShapeBox(-8F, 2F, -1F, 4, 3, 2, 0F, /* 0 */ 0F, 0.5F, 0F, /* 1 */ 0F, 0.5F, 0F, /* 2 */ 0F, 0.5F, 0F, /* 3 */ 0F, 0.5F, 0F, /* 4 */ 0F, 0F, 0F, /* 5 */ 0F, -2F, 0F, /* 6 */ 0F, -2F, 0F, /* 7 */ 0F, 0F, 0F)
   
    gunModel[1] = new ModelRendererTurbo(this, 12, 0, textureX, textureY);
    gunModel[1].addShapeBox(-4F, 2F, -1F, 4, 2, 2, 0F, /* 0 */ 0F, 1F, 0F, /* 1 */ 0F, 0F, 0F, /* 2 */ 0F, 0F, 0F, /* 3 */ 0F, 1F, 0F, /* 4 */ 0F, -1F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, -1F, 0F)

    gunModel[2] = new ModelRendererTurbo(this, 24, 0, textureX, textureY);
    gunModel[2].addShapeBox(0F, 2F, -1F, 3, 3, 2, 0F, /* 0 */ 0F, 0F, 0F, /* 1 */ 0F, 0F, 0F, /* 2 */ 0F, 0F, 0F, /* 3 */ 0F, 0F, 0F, /* 4 */ 0F, -1F, 0F, /* 5 */ 0F, 0F, 0F, /* 6 */ 0F, 0F, 0F, /* 7 */ 0F, -1F, 0F)
   
    gunModel[3] = new ModelRendererTurbo(this, 0, 5, textureX, textureY);
    gunModel[3].addBox(3F, 2F, -1F, 5, 1, 2)
   
    breakActionModel = new ModelRendererTurbo[5];
   
    breakActionModel[0] = new ModelRendererTurbo(this, 0, 8, textureX, textureY);
    breakActionModel[0].addBox(3F, 3F, -1F, 13, 2, 2);
   
    breakActionModel[1] = new ModelRendererTurbo(this, 14, 5, textureX, textureY);
    breakActionModel[1].addBox(15F, 5F, -0.5F, 1, 1, 1);
   
    breakActionModel[2] = new ModelRendererTurbo(this, 0, 13, textureX, textureY);
    breakActionModel[2].addBox(8F, 2F, -1F, 4, 1, 2);

    breakActionModel[3] = new ModelRendererTurbo(this, 12, 14, textureX, textureY);
    breakActionModel[3].addBox(3F, 4.5F, -0.5F, 3, 1, 1);
   
    breakActionModel[4] = new ModelRendererTurbo(this, 34, -1, textureX, textureY);
    breakActionModel[4].addShapeBox(11F, 5.0001F, -3.5F, 1, 10, 7, 0F, /* 0 */ 0F, 0F, -2.5F, /* 1 */ 0F, 0F, -2.5F, /* 2 */ 0F, 0F, -2.5F, /* 3 */ 0F, 0F, -2.5F, /* 4 */ 0F, -6F, -2.5F, /* 5 */ 0F, -6F, -2.5F, /* 6 */ 0F, -6F, -2.5F, /* 7 */ 0F, -6F, -2.5F)
   
    breakAngle = 60F;

    barrelBreakPoint = new Vector3f(4F / 16F, 2F / 16F, 0F);
   
    ammoModel = new ModelRendererTurbo[1];
   
    ammoModel[0] = new ModelRendererTurbo(this, 20, 12, textureX, textureY);
    ammoModel[0].addBox(2.9F, 3.25F, -0.75F, 3, 1.5F, 1.5F);
   
    barrelAttachPoint = new Vector3f(7.5F / 16F, 4F / 16F, 0F);
   
    scopeAttachPoint = new Vector3f(3F / 16F, 5F / 16F, 0F);
View Full Code Here

    int textureX = 64;
    int textureY = 16;
   
    gunModel = new ModelRendererTurbo[7];
   
    gunModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY);
    gunModel[0].addBox(-1F, 2F, -1F, 15, 2, 2);
   
    gunModel[1] = new ModelRendererTurbo(this, 0, 4, textureX, textureY);
    gunModel[1].addBox(1F, 4F, -1F, 5, 0.5F, 2);
   
    gunModel[2] = new ModelRendererTurbo(this, 0, 7, textureX, textureY);
    gunModel[2].addBox(2F, 4.5F, -1F, 9, 0.5F, 2);
   
    gunModel[3] = new ModelRendererTurbo(this, 14, 4, textureX, textureY);
    gunModel[3].addBox(10F, 4F, -1F, 2, 0.5F, 2);
   
    gunModel[4] = new ModelRendererTurbo(this, 32, 0, textureX, textureY);
    gunModel[4].addBox(14F, 2.5F, -0.5F, 1, 1, 1);
   
    gunModel[5] = new ModelRendererTurbo(this, 22, 4, textureX, textureY);
    gunModel[5].addBox(1F, 1F, -1F, 6, 1, 2);

    gunModel[6] = new ModelRendererTurbo(this, 0, 10, textureX, textureY);
    gunModel[6].addBox(-0.5F, -2F, -0.5F, 1, 3, 1);
    gunModel[6].setRotationPoint(2F, 1F, 0F);
    gunModel[6].rotateAngleZ = -0.5F;

    //Scope
    scopeAttachPoint = new Vector3f(4F / 16F, 5F / 16F, 0F);

    //Stock
    defaultStockModel = new ModelRendererTurbo[5];
   
    defaultStockModel[0] = new ModelRendererTurbo(this, 4, 10, textureX, textureY);
    defaultStockModel[0].addBox(-7F, 1F, -0.5F, 1, 3, 1);
   
    defaultStockModel[1] = new ModelRendererTurbo(this, 0, 14, textureX, textureY);
    defaultStockModel[1].addBox(-6F, 1.5F, -0.5F, 2, 0.5F, 1);
   
    defaultStockModel[2] = new ModelRendererTurbo(this, 6, 14, textureX, textureY);
    defaultStockModel[2].addBox(-4F, 2F, -0.5F, 3, 0.5F, 1);
   
    defaultStockModel[3] = new ModelRendererTurbo(this, 14, 14, textureX, textureY);
    defaultStockModel[3].addBox(-6F, 3.5F, -0.5F, 5, 0.5F, 1);

    defaultStockModel[4] = new ModelRendererTurbo(this, 26, 14, textureX, textureY);
    defaultStockModel[4].addBox(-3F, 2.5F, -0.5F, 1, 1, 1);
   
    stockAttachPoint = new Vector3f(-4F / 16F, 3.5F / 16F, 0F);
   
    //Barrel   
    barrelAttachPoint = new Vector3f(15F / 16F, 3F / 16F, 0F);
   
    //Grip
    defaultGripModel = new ModelRendererTurbo[2];
   
    defaultGripModel[0] = new ModelRendererTurbo(this, 8, 10, textureX, textureY);
    defaultGripModel[0].addBox(11F, 1F, -1F, 2, 1, 2);
   
    defaultGripModel[1] = new ModelRendererTurbo(this, 16, 10, textureX, textureY);
    defaultGripModel[1].addBox(11.5F, -1F, -0.5F, 1, 2, 1);
   
    gripAttachPoint = new Vector3f(10F / 16F, 3F / 16F, 0F);
   
    //Ammo
    ammoModel = new ModelRendererTurbo[1];
   
    ammoModel[0] = new ModelRendererTurbo(this, 22, 7, textureX, textureY);
    ammoModel[0].addBox(-1F, -4F, -0.5F, 2, 5, 1);
    ammoModel[0].setRotationPoint(6F, 1F, 0F);
    ammoModel[0].rotateAngleZ = 0.25F;
   
    gunSlideDistance = 0.5F;
View Full Code Here

TOP

Related Classes of com.flansmod.client.tmt.ModelRendererTurbo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.