Jump to content

Farming in Winter


Arya

Recommended Posts

I've started editing the wiki, and I'd like to add info about what happens when you try to farm in winter.

From my experience all plants that are planted in winter will die/wither after a few days(?) no matter what you do. Or am I mistaken?

 

Edit: Results

Yes, you can farm in winter.

Vanilla PZ: Winter in PZ with standard climate settings is rather mild, so you can farm outdoors, too. However, farming will yield less than in summer. You can also farm indoors with heating, but because the plants will recieve less sunlight, it will yield about the same as outdoor farming.

 

Hydrocraft: Currently, HC alters vanilla behavior and kills outdoor plants in winter (November-January), so you can either farm indoors or use potted plants.

Link to comment
Share on other sites

2 hours ago, PPanda0421 said:

My plants are able to survive when planted indoors (and have enough water) in the winter. I am using the Hydrocraft mod but I think this is a vanilla feature.

If you can test without mods that would help but because you are useing mods we can't be sure

 

Any body can test in sand box however

Link to comment
Share on other sites

2 hours ago, bearmasksenpai said:

If you can test without mods that would help but because you are useing mods we can't be sure

 

Any body can test in sand box however

I'm pretty sure that (working) indoor farming is a vanilla thing. Check out all the threads regarding it. Some of them confirmed it.

 

Seems to be based on temperature and when it is cold the plants lose health so plant crops with short grow times.

 

The following thread discuss some aspects of vanilla farming:

 

 

EDIT: Also found the following thread where Enigma in his first reply to the OP mentions farming indoors should get a temperature boost:

https://theindiestone.com/forums/index.php?/topic/17805-how-are-you-supposed-to-build-up-a-stockpile-for-winter/

 

Link to comment
Share on other sites

Okay, I did two experiments right now:

 

growing cabbage outside (as suggested on reddit)

Does not work - the plants die after about 2 hours (I doubt that it depends on temperature)

 

growing anything inside

Works just fine (at least the one day that I observed my plants, needs longer testing)

you just have to move dirt into any house, and then grow plants like ususal

you don't have to use wood burning stoves, and you don't even have to close the door

 

(This should be vanilla behaviour, although I didn't disable HC)

Link to comment
Share on other sites

8 hours ago, Arya said:

Okay, I did two experiments right now:

 

growing cabbage outside (as suggested on reddit)

Does not work - the plants die after about 2 hours (I doubt that it depends on temperature)

 

growing anything inside

Works just fine (at least the one day that I observed my plants, needs longer testing)

you just have to move dirt into any house, and then grow plants like ususal

you don't have to use wood burning stoves, and you don't even have to close the door

 

(This should be vanilla behaviour, although I didn't disable HC)

No, one of the factors is temperature. I looked at the code myself yesterday (both HC and vanilla code look identical).  Also, when you plant the seeds the crops don't start at 100 health.

 

 

function basicFarming.changeHealth()
    for iPlant,vPlant in pairs(basicFarming.plantings) do
        -- change with weather
        local weather = getWorld():getWeather()
        if "sunny" == weather then -- if it's sunny
            if vPlant.exterior then
                vPlant.health = vPlant.health + 1
            else
                vPlant.health = vPlant.health + 0.25
            end
        end
        -- lower health if temperature is not high
        if season.currentTemp <= 10 then
            vPlant.health = vPlant.health - 0.25;
        end
        -- change with water
        local water = farming_vegetableconf.calcWater(vPlant.waterNeeded, vPlant.waterLvl)
        local waterMax = farming_vegetableconf.calcWater(vPlant.waterLvl, vPlant.waterNeededMax)
        if water >= 0 and waterMax >= 0 then
            vPlant.health = vPlant.health + 0.4
        elseif water == -1 then -- we low health by 0.2
            vPlant.health = vPlant.health - 0.2
        elseif water == -2 then -- low health by 0.5
            vPlant.health = vPlant.health - 0.5
        elseif waterMax == -1 and vPlant.health > 20  then
            vPlant.health = vPlant.health - 0.2
        elseif waterMax == -2 and vPlant.health > 20  then
            vPlant.health = vPlant.health - 0.5
        end
--        saveData(vPlant)
    end
end

 

 

 

 

Link to comment
Share on other sites

okay okay, I disabled HC and Cabbage outside doesn't die after a few hours

 

so I searched the files for the message that doesn't appear anymore ("winter is here, and (outdoor) plants slowly loose health") and I found the troublemaker: WaterPipe.lua

	-- update plants if it's winter, code should go into plantings
	-- no plant (outdoor) should last more than 2 or 3 days.
	local month = GameTime:getInstance():getMonth();
	-- print("month is " .. month);
	if month >= 10 or month <= 1 then
		print("winter is here, and (outdoor) plants slowly loose health");
		for iPlant, vPlant in pairs(basicFarming.plantings) do
			if vPlant.state ~= "plow" and vPlant:isAlive() and vPlant.exterior then
				vPlant.health = vPlant.health - 2.8; -- farming does +1.4 if sunny and water is ok
				basicFarming.checkStat(vPlant);
				if vPlant.health <= 0 then
					basicFarming.dryThis(vPlant);
				end
				basicFarming.saveData(vPlant)
			end
		end
	end

Sorry that I was assuming that was vanilla behavior!

 

_____

I disabled that code and will test general farming in winter again. But when I look at the code:

 

       -- change with weather
        local weather = getWorld():getWeather()
        if "sunny" == weather then -- if it's sunny
            if vPlant.exterior then
                vPlant.health = vPlant.health + 1
            else
                vPlant.health = vPlant.health + 0.25
            end
        end
        -- lower health if temperature is not high
        if season.currentTemp <= 10 then
            vPlant.health = vPlant.health - 0.25;
        end

 

Then I guess outside farming and inside farming with heating are equal.

If we assume 8h sunlight per day:

Outside:    24h x -0.25 (temperature) + 8h x 1 (sunny) = 8 - 6 = +2 health

Inside:    8h x 0.25 (sunny, but inside) = +2 health

Link to comment
Share on other sites

I play A Really CDDA and winter arrives 26 days after beginning, and for what I saw by planting ASAP (winter always come with plants in outdoors), an 'about-to-fully-grow' plant doesn't die (in most cases) even in snow, but a recently planted one does...

The farms indoors don't die unless you forget to water them 

Link to comment
Share on other sites

6 hours ago, Brefe said:

I play A Really CDDA

What does CDDA mean? Someone else used that abbreviation some time ago, too. And Google is of no help: compact disk, antenna, database, UK law, Cataclysm: Dark Days Ahead

 

But anyway: If you use Hydrocraft, plants will die in winter if they are outside. If you don't use Hydrocraft, farming outside in winter works, although with less yield.

 

6 hours ago, Brefe said:

A question, light affect the grow process?

Yes, when it is sunny plants gain more health, but if they are indoors, they will receive less light and thus less health.

 

        if "sunny" == weather then -- if it's sunny
            if vPlant.exterior then
                vPlant.health = vPlant.health + 1
            else
                vPlant.health = vPlant.health + 0.25

 

40 minutes ago, ChatNoir said:

No, light doesn't matter.


Yes, it does. It's right there in the (vanilla!) code that a pasted above.

Link to comment
Share on other sites

On 17.5.2018 at 12:57 PM, Arya said:

Yes, when it is sunny plants gain more health, but if they are indoors, they will receive less light and thus less health

 

 

Is this also confirmed in the code? Do the plants indoors profit less than those outdoors when the weather is sunny?

I never observed a significant difference between plants growing indoors and those growing outdoors during summer.

Link to comment
Share on other sites

The full code, as posted by PPanda above:

 

function basicFarming.changeHealth()
    for iPlant,vPlant in pairs(basicFarming.plantings) do
        -- change with weather
        local weather = getWorld():getWeather()
        if "sunny" == weather then -- if it's sunny
            if vPlant.exterior then         -- if the plants are outside, they gain +1 per tick
                vPlant.health = vPlant.health + 1
            else        -- if they are inside, they gain +0.25 per tick
                vPlant.health = vPlant.health + 0.25
            end
        end
        -- lower health if temperature is not high
        if season.currentTemp <= 10 then
            vPlant.health = vPlant.health - 0.25;
        end
        -- change with water
        local water = farming_vegetableconf.calcWater(vPlant.waterNeeded, vPlant.waterLvl)
        local waterMax = farming_vegetableconf.calcWater(vPlant.waterLvl, vPlant.waterNeededMax)
        if water >= 0 and waterMax >= 0 then
            vPlant.health = vPlant.health + 0.4
        elseif water == -1 then -- we low health by 0.2
            vPlant.health = vPlant.health - 0.2
        elseif water == -2 then -- low health by 0.5
            vPlant.health = vPlant.health - 0.5
        elseif waterMax == -1 and vPlant.health > 20  then
            vPlant.health = vPlant.health - 0.2
        elseif waterMax == -2 and vPlant.health > 20  then
            vPlant.health = vPlant.health - 0.5
        end
--        saveData(vPlant)
    end
end

 

My calculations, showing that outside farming and inside farming with heating in winter are equal (more or less, depends on the weather).

If we assume 8h sunlight per day:

Outside:    24h x -0.25 (temperature) + 8h x 1 (sunny) = 8 - 6 = +2 health

Inside:    8h x 0.25 (sunny, but inside) = +2 health

 

58 minutes ago, ChatNoir said:

I never observed a significant difference between plants growing indoors and those growing outdoors during summer.


The difference is small, so you won't notice unless you keep records in Excel.

Link to comment
Share on other sites

That's really interesting. Thanks for the effort you put into it. :)

Maybe the devs could make this difference more significant. I think indoor plants without a special light for plants should not grow that well. At least I never experienced any problems with growing strawberries in January.

Link to comment
Share on other sites

I think they assume that even in houses some light still shines trough windows. And because calculating the actual light level for every plant is rather extensive (albeit doable), they decided to simplify it.

I agree that a more complex calculation would be more realistic. Let's see if they change it some day. :)

Link to comment
Share on other sites

On 5/12/2018 at 7:06 AM, PPanda0421 said:

My plants are able to survive when planted indoors (and have enough water) in the winter. I am using the Hydrocraft mod but I think this is a vanilla feature.

doing the exact same thing. in fact, to be honest, i don't see any other ways. if there are any others please share!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...