Ender IO Zoo

Ender IO Zoo

962k Downloads

Farming station sometimes skips planting wheat directly after harvesting, catches it on its next pass

JaSpr opened this issue · 14 comments

commented

SkyFactory 3 (3.0.8)
Forge: 12.18.3.2254 & 12.18.3.2281
EnderIO: 1.10.2-3.1.173 & 1.10.2-3.1.180
EnderCore: 1.10.2-0.4.1.65-beta

In a 9x9 square of wheat (1 quadrant of the grid with a Farming Station + octadic), the farming station will usually leave about 2-4 blocks unplanted when harvesting the wheat, even when there are more than enough seeds to plant on that pass. I assume this happens for wheat (and NOT other crops) because wheat has a different harvest item than its planting item (harvests wheat but plants seeds). Usually, by the time the farming station gets back to the quadrant (and therefore the empty plots), the ground has become untilled.

With vanilla farmland, the farmer constantly leaves behind empty plots, then on its next pass it is able to re-till and re-plant. With non-vanilla dirt, howevr, this causes a problem. For example, with fertilized dirt (from the Hatchery mod), EnderIO Farm can't till the dirt, so if it becomes untilled, then the block will permanently be empty. After probably 20 passes or so, all the fertilized dirt is untilled, and wheat is no longer being planted or harvested.

Granted, EnderIO can't support every possible type of farmland added by every mod out there (nor should it), but if the underlying bug (where the farming station is leaving plots empty, despite having plenty of seeds, and only when dealing with wheat) were resolved, then it wouldn't matter that the fertilized dirt has to be tilled manually, because it wouldn't revert to untilled fertilized dirt.

commented

Why does the farmland revert to dirt? did you not put a water source nearby?

commented

This issue relates to issue #3552, which goes as far back as EnderIO 2.3.0.427 on MC 1.7.10

commented

Yes.

commented

Hm, I was going to try to troubleshoot this bug, but before building the code, I noticed a commit from yesterday (ca681c2) which may have intended to resolve the issue already

commented

No, that is unrelated.

However, there may be a small misconception here: Ender IO does not replant directly. It resets the plant to its initial growth state if, and only if, the harvest contains a seed. Otherwise the plant is harvested and it moves on.

commented

In that case, it isn't working, as the farmer has plenty of seeds when it skips over various plots. If it's not a victim of harvesting and planting, then I guess it wouldn't involve the getSeeds, plant, or canPlant methods returning a false negative.

And we're certain that it couldn't accidentally be trying to verify that it has a wheat, instead of having a seed, when attempting to fake harvest?

commented

It is working as intended - it harvests and moves on - next time around it sees an empty place and plants a new crop.

So you just need to add hydration and it will work just fine.

commented

I just re-read and re-understood a previous comment: If the active plot being harvested does not drop a seed, then the plot will not be replanted until the next go around. This actually makes sense. I previously read that as it would only replant if seeds were available in the farming station, which is obviously not what it says. My apologies.

commented

Not a problem, it is an unexpected detail for players. So I think this is the wheat seed sometimes not dropping seeds when growing on dry farmland?

commented

Even with the farmland hydrated, sometimes wheat (probably) just doesn't drop seeds. I've got everything fully hydrated now, so the land never reverts to untilled, but it still leaves a few empty spots each cycle.

commented

I think vanilla wheat should always drop at least one see. Do you have any mod installed that changes that?

commented

Not to my knowledge, but we're running Sky Factory 3, which has tons of mods, so who knows.

commented

There's no guarantee that fully grown wheat will drop any seeds. Looking at BlockCrops#getDrops(), there are (3 + fortune) chances of a seed dropping when wheat is harvested, and each of those chances is 50%. So 0-3 seeds, with a 12.5% chance of no seeds dropping.

Update: this bears out my experience with the farming station in Beyond 1.5.3: for a farming station which isn't locked to a particular seed, carrots & potatoes will always get replanted, but wheat is guaranteed to be replaced by something else sooner or later. Carrots & potatoes drop 1-4 of their crop when harvested, but wheat can drop 0 seeds; in that case it would appear the crop is removed, and replaced with whatever the farming station has in its seed inventory at the time.

commented

After further discussion regarding how and when the Farming Station will replant harvested crops, I feel this ticket can be closed.