So I'm going to rewrite the crop growing code. Not only to increase the growing time, but to make the system more regular. Basically before each crop had its own code despite there really only being two different types of crops. So now all crops will have preferences like this that will make changing crops or adding new crops really easy:
$farmPref::secondsPerTick = 180;
$farmPref::crops = 8;
//0 - Annual
//1 - Perennial
//2 - Constant
$farmPref::crop::name[0] = "corn";
$farmPref::crop::baseWaterUsagePerTick[0] = 5;
$farmPref::crop::soilBrick[0] = brickDDRPdirtData;
$farmPref::crop::growStyle[0] = 0;
$farmPref::crop::ticksPerStage[0] = 15;
$farmPref::crop::basePrice[0] = 10;
$farmPreF::crop::growStages[0] = 6;
$farmPref::crop::growStage[0,0] = brickDDRPcorn1Data;
$farmPref::crop::growStage[0,1] = brickDDRPcorn2Data;
$farmPref::crop::growStage[0,2] = brickDDRPcorn3Data;
$farmPref::crop::growStage[0,3] = brickDDRPcorn4Data;
$farmPref::crop::growStage[0,4] = brickDDRPcorn5Data;
$farmPref::crop::growStage[0,5] = brickDDRPcorn6Data;
$farmPref::crop::harvestStages[0] = 1;
$farmPref::crop::harvestStage[0,0] = brickDDRPcorn7Data;
$farmPref::crop::deadStage[0] = brickDDRPcorn8Data;
$farmPref::crop::name[1] = "tomato";
$farmPref::crop::baseWaterUsagePerTick[1] = 5;
$farmPref::crop::soilBrick[1] = brickDDRPdirtData;
$farmPref::crop::growStyle[1] = 0;
$farmPref::crop::ticksPerStage[1] = 15;
$farmPref::crop::basePrice[1] = 15;
$farmPref::crop::growStages[1] = 8;
$farmPref::crop::growStage[1,0] = brickDDRPtomato1Data;
$farmPref::crop::growStage[1,1] = brickDDRPtomato2Data;
$farmPref::crop::growStage[1,2] = brickDDRPtomato3Data;
$farmPref::crop::growStage[1,3] = brickDDRPtomato4Data;
$farmPref::crop::growStage[1,4] = brickDDRPtomato5Data;
$farmPref::crop::growStage[1,5] = brickDDRPtomato6Data;
$farmPref::crop::growStage[1,6] = brickDDRPtomato7Data;
$farmPref::crop::growStage[1,7] = brickDDRPtomato8Data;
$farmPref::crop::harvestStages[1] = 1;
$farmPref::crop::harvestStage[1,0] = brickDDRPtomato9Data;
$farmPref::crop::deadStage[1] = brickDDRPtomato10Data;
$farmPref::crop::name[2] = "wheat";
$farmPref::crop::baseWaterUsagePerTick[2] = 5;
$farmPref::crop::soilBrick[2] = brickDDRPdirtData;
$farmPref::crop::growStyle[2] = 0;
$farmPref::crop::ticksPerStage[2] = 15;
$farmPref::crop::basePrice[2] = 12.5;
$farmPref::crop::growStages[2] = 7;
$farmPref::crop::growStage[2,0] = brickDDRPwheat1Data;
$farmPref::crop::growStage[2,1] = brickDDRPwheat2Data;
$farmPref::crop::growStage[2,2] = brickDDRPwheat3Data;
$farmPref::crop::growStage[2,3] = brickDDRPwheat4Data;
$farmPref::crop::growStage[2,4] = brickDDRPwheat5Data;
$farmPref::crop::growStage[2,5] = brickDDRPwheat6Data;
$farmPref::crop::growStage[2,6] = brickDDRPwheat7Data;
$farmPref::crop::harvestStages[2] = 1;
$farmPref::crop::harvestStage[2,0] = brickDDRPwheat8Data;
$farmPref::crop::deadStage[2] = brickDDRPwheat9Data;
$farmPref::crop::name[3] = "potato";
$farmPref::crop::baseWaterUsagePerTick[3] = 5;
$farmPref::crop::soilBrick[3] = brickDDRPdirtData;
$farmPref::crop::growStyle[3] = 0;
$farmPref::crop::ticksPerStage[3] = 15;
$farmPref::crop::basePrice[3] = 7.5;
$farmPref::crop::growStages[3] = 5;
$farmPref::crop::growStage[3,0] = brickDDRPpotato1Data;
$farmPref::crop::growStage[3,1] = brickDDRPpotato2Data;
$farmPref::crop::growStage[3,2] = brickDDRPpotato3Data;
$farmPref::crop::growStage[3,3] = brickDDRPpotato4Data;
$farmPref::crop::growStage[3,4] = brickDDRPpotato5Data;
$farmPref::crop::harvestStages[3] = 1;
$farmPref::crop::harvestStage[3,0] = brickDDRPpotato6Data;
$farmPref::crop::deadStage[3] = brickDDRPpotato7Data;
$farmPref::crop::name[4] = "melon";
$farmPref::crop::baseWaterUsagePerTick[4] = 5;
$farmPref::crop::soilBrick[4] = brickDDRPbushData;
$farmPref::crop::growStyle[4] = 0;
$farmPref::crop::ticksPerStage[4] = 15;
$farmPref::crop::basePrice[4] = 12.5;
$farmPref::crop::growStages[4] = 8;
$farmPref::crop::growStage[4,0] = brickDDRPmelon1Data;
$farmPref::crop::growStage[4,1] = brickDDRPmelon2Data;
$farmPref::crop::growStage[4,2] = brickDDRPmelon3Data;
$farmPref::crop::growStage[4,3] = brickDDRPmelon4Data;
$farmPref::crop::growStage[4,4] = brickDDRPmelon5Data;
$farmPref::crop::growStage[4,5] = brickDDRPmelon6Data;
$farmPref::crop::growStage[4,6] = brickDDRPmelon7Data;
$farmPref::crop::growStage[4,7] = brickDDRPmelon8Data;
$farmPref::crop::harvestStages[4] = 3;
$farmPref::crop::harvestStage[4,0] = brickDDRPmelon9Data;
$farmPref::crop::harvestStage[4,1] = brickDDRPmelon10Data;
$farmPref::crop::harvestStage[4,2] = brickDDRPmelon11Data;
$farmPref::crop::deadStage[4] = brickDDRPmelon8Data;
$farmPref::crop::name[5] = "blueberries";
$farmPref::crop::baseWaterUsagePerTick[5] = 5;
$farmPref::crop::soilBrick[5] = brickDDRPbushData;
$farmPref::crop::growStyle[5] = 1;
$farmPref::crop::ticksPerStage[5] = 60;
$farmPref::crop::basePrice[5] = 15;
$farmPref::crop::growStages[5] = 6;
$farmPref::crop::growStage[5,0] = brickDDRPblueberries1Data;
$farmPref::crop::growStage[5,1] = brickDDRPblueberries2Data;
$farmPref::crop::growStage[5,2] = brickDDRPblueberries3Data;
$farmPref::crop::growStage[5,3] = brickDDRPblueberries4Data;
$farmPref::crop::growStage[5,4] = brickDDRPblueberries5Data;
$farmPref::crop::growStage[5,5] = brickDDRPblueberries6Data;
$farmPref::crop::adultStages[5] = 2;
$farmPref::crop::adultStage[5,0] = brickDDRPblueberries7Data;
$farmPref::crop::adultStage[5,1] = brickDDRPblueberries8Data;
$farmPref::crop::harvestStages[5] = 1;
$farmPref::crop::harvestStage[5,0] = brickDDRPblueberries9Data;
$farmPref::crop::deadStage[5] = brickDDRPblueberries10Data;
$farmPref::crop::name[6] = "grapes";
$farmPref::crop::baseWaterUsagePerTick[6] = 5;
$farmPref::crop::soilBrick[6] = brickDDRPfenceData;
$farmPref::crop::growStyle[6] = 1;
$farmPref::crop::ticksPerStage[6] = 60;
$farmPref::crop::basePrice[6] = 15;
$farmPref::crop::growStages[6] = 5;
$farmPref::crop::growStage[6,0] = brickDDRPgrapes1Data;
$farmPref::crop::growStage[6,1] = brickDDRPgrapes2Data;
$farmPref::crop::growStage[6,2] = brickDDRPgrapes3Data;
$farmPref::crop::growStage[6,3] = brickDDRPgrapes4Data;
$farmPref::crop::growStage[6,4] = brickDDRPgrapes5Data;
$farmPref::crop::adultStages[6] = 3;
$farmPref::crop::adultStage[6,0] = brickDDRPgrapes6Data;
$farmPref::crop::adultStage[6,7] = brickDDRPgrapes7Data;
$farmPref::crop::adultStage[6,8] = brickDDRPgrapes8Data;
$farmPref::crop::harvestStages[6] = 2;
$farmPref::crop::harvestStages[6,0] = brickDDRPgrapes9Data;
$farmPref::crop::harvestStages[6,1] = brickDDRPgrapes10Data;
$farmPref::crop::deadStage[6] = brickDDRPgrapes6Data;
$farmPref::crop::name[7] = "cannabis";
$farmPref::crop::baseWaterUsagePerTick[7] = 5;
$farmPref::crop::soilBrick[7] = brickDDRPdirtData;
$farmPref::crop::growStyle[7] = 2;
$farmPref::crop::ticksPerStage[7] = 25;
$farmPref::crop::basePrice[7] = 10;
$farmPref::crop::growStages[7] = 10;
$farmPref::crop::growStage[7,0] = brickDDRPweed1Data;
$farmPref::crop::growStage[7,1] = brickDDRPweed2Data;
$farmPref::crop::growStage[7,2] = brickDDRPweed3Data;
$farmPref::crop::growStage[7,3] = brickDDRPweed4Data;
$farmPref::crop::growStage[7,4] = brickDDRPweed5Data;
$farmPref::crop::growStage[7,5] = brickDDRPweed6Data;
$farmPref::crop::growStage[7,6] = brickDDRPweed7Data;
$farmPref::crop::growStage[7,7] = brickDDRPweed8Data;
$farmPref::crop::growStage[7,8] = brickDDRPweed9Data;
$farmPref::crop::growStage[7,9] = brickDDRPweed10Data;
function prepareCropDatablocks()
{
for(%a=0;%a<$farmPref::crops;%a++)
{
if(isObject($farmPref::crop::deadStage[%a]))
{
$farmPref::crop::adultStage[%a].isPlantBrick = true;
$farmPref::crop::adultStage[%a].crop = %a;
$farmPref::crop::adultStage[%a].isGrowingBrick = false;
$farmPref::crop::adultStage[%a].isDeadBrick = true;
$farmPref::crop::adultStage[%a].isHarvestBrick = false;
$farmPref::crop::adultStage[%a].isAdultBrick = false;
}
for(%b=0;%b<$farmPref::crop::growStages[%a];%b++)
{
$farmPref::crop::growStage[%a,%b].isPlantBrick = true;
$farmPref::crop::growStage[%a,%b].crop = %a;
$farmPref::crop::growStage[%a,%b].stage = %b;
$farmPref::crop::growStage[%a,%b].isGrowingBrick = true;
$farmPref::crop::growStage[%a,%b].isDeadBrick = false;
$farmPref::crop::growStage[%a,%b].isHarvestBrick = false;
$farmPref::crop::growStage[%a,%b].isAdultBrick = false;
}
for(%b=0;%b<$farmPref::crop::harvestStages[%a];%b++)
{
$farmPref::crop::harvestStage[%a,%b].isPlantBrick = true;
$farmPref::crop::harvestStage[%a,%b].crop = %a;
$farmPref::crop::harvestStage[%a,%b].stage = %b;
$farmPref::crop::harvestStage[%a,%b].isGrowingBrick = false;
$farmPref::crop::harvestStage[%a,%b].isDeadBrick = false;
$farmPref::crop::harvestStage[%a,%b].isHarvestBrick = true;
$farmPref::crop::harvestStage[%a,%b].isAdultBrick = false;
}
for(%b=0;%b<$farmPref::crop::adultStages[%a];%b++)
{
$farmPref::crop::adultStage[%a,%b].isPlantBrick = true;
$farmPref::crop::adultStage[%a,%b].crop = %a;
$farmPref::crop::adultStage[%a,%b].stage = %b;
$farmPref::crop::adultStage[%a,%b].isGrowingBrick = false;
$farmPref::crop::adultStage[%a,%b].isDeadBrick = false;
$farmPref::crop::adultStage[%a,%b].isHarvestBrick = false;
$farmPref::crop::adultStage[%a,%b].isAdultBrick = true;
}
}
}
prepareCropDatablocks();