Does the timer interval I place upon an automatic sugar cane farm actually affect the production rate in any way? The timer I am using is not a BUD switch or anything overly fancy, just a simple hopper timer. But since sugar canes grow due to random block updates, assuming that the pulse for the pistons I use to harvest the sugarcane is negligibly short compared to the timescale of harvest, shouldn't the interval set on the hopper not affect the amount of sugarcane harvested? Or does the extending piston mess with the growth of the sugar cane?
3 Answers
Necro answer, because I was looking for the answer to this question too and answered it with experimentation and simulation. (Java Edition - 1.18.2)
First, I set up two rows of 8 sugarcane, each with both the detector AND the piston looking at the block immediately above the sugarcane. (I had to use a circuit to ensure the piston only activates once, and hopper-carts to collect the sugarcane to guarantee nothing was lost.)
- In one row, all 8 pistons triggered at the same time; when ever any of the 8 sugarcane grew.
- In the other row, each piston fired individually; only when its sugarcane grew.
Side View:
╔═══╦═══╗
║ O ║ R ║ Obserserver looking down, and redstone circuitry
╠═══╬═══╣
║ ║ P ║ Piston facing empty space above sugarcane
╠═══╬═══╣
║ S ║ ║ Sugarcane
╚═══╩═══╝
I then ran the 'farms' for several hours, and both yielded the same amount of sugarcane; about 3.3 sugarcane per hour per plant.
- 3 blocks random-ticked per game tick, per 4096 blocks in subchunk
- 20 game ticks per second
- 16 random-ticks required per growth
- 3600 seconds per hour
- =>
((3 / 4096) * 20 / 16) * 3600
= 3.3 growths per hour per plant
Extra:
Where there can be losses, however, is when you set up a simpler circuit by observing the block abov the one your piston will break.
Side View:
╔═══╦═══╗
║ ║ O ║ Obserserver looking LEFT
╠═══╬═══╣
║ ║ P ║ Piston facing empty space above sugarcane
╠═══╬═══╣
║ S ║ ║ Sugarcane
╚═══╩═══╝
In this case, after two growths the observer fires the piston, the middle block of sugarcane breaks and you collect two sugarcane.
Again, I set up the same two rows of 8 sugarcane
- In one row, all 8 pistons triggered at the same time; when ever any of the 8 sugarcane grew.
- In the other row, each piston fired individually; only when its sugarcane grew.
This time the "all pistons fire together" gathered significantly less sugar-cane
All Pistons Simultaneously
=2.5
sugarcane per hour per plantEach Piston Individually
=3.3
sugarcane per hour per plant
Why?
Because when you have 8 plants, and one of them reaches its 3rd block, the others will have only reached the 2nd block plus some random-ticks. When such a 2-tall plant is broken, those random-ticks of 'partial-growth' are 'lost'.
Start...
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ No plants have finished growing their 3rd block
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ No plants have finished growing their 2nd block
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ S ║ S ║ S ║ S ║ S ║ S ║ S ║ S ║ 8 plants, just planted
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝
Roughly 10 minutes later...
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║16 ║13 ║11 ║10 ║ 8 ║ 7 ║ 4 ║ 0 ║ 1 plant has finished growing a 3rd block
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║16 ║16 ║16 ║16 ║16 ║16 ║16 ║15 ║ 7 Plants have finished growing a 2nd block
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ S ║ S ║ S ║ S ║ S ║ S ║ S ║ S ║ 8 plants, just planted
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝
This fires this pistons.
- The 1st sugarcane breaks and 2 pieces is collected
- Six other sugarcane break and 1 piece is collected from each
- The last sugarcane still hasn't grown at all, and isn't broken at all
Every sugarcane that was broken has it's growth states reset to 0...
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ No plants have finished growing their 3rd block
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║ 0 ║15 ║ One plant (not broken by piston) is close to growing
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ S ║ S ║ S ║ S ║ S ║ S ║ S ║ S ║ 8 plants, just planted
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝
This means that...
- The 1st plant accrued 32 random-ticks, grew 2 blocks, and reset to 0 random-ticks of growth
- The 2nd plant accrued 29 random-ticks, grew 1 block, and reset to 0 random-ticks of growth
- The 3rd plant accrued 27 random-ticks, grew 1 block, and reset to 0 random-ticks of growth
- The 4th plant accrued 26 random-ticks, grew 1 block, and reset to 0 random-ticks of growth
- The 5th plant accrued 24 random-ticks, grew 1 block, and reset to 0 random-ticks of growth
- The 6th plant accrued 23 random-ticks, grew 1 block, and reset to 0 random-ticks of growth
- The 7th plant accrued 20 random-ticks, grew 1 block, and reset to 0 random-ticks of growth
- The 8th plant accrued 15 random-ticks, wasn't harvested, retaining all 15 random-ticks
=>
Random Ticks Spent
=32 + 29 + 27 + 26 + 24 + 23 + 20
=181
Sugarcane collected
=2 + 1 + 1 + 1 + 1 + 1 + 1
=8
Growth rate
=149/8
=22.625
random-ticks per sugarcane
That's 41% longer than usual (29% fewer crops per hour).
In reality, over a long period of time, each time all 8 pistons fire together...
17%
of crops will drop 0 (still only 1 block tall)70%
of crops will drop 1 (2 blocks tall, mid growing 3rd block, but losing that partial growth)13%
of crops will drop 2 (3 blocks tall, which triggered the pistons)
This means that, on average.
- It will take 33% more random-ticks per sugarcane harvested
- Which is the same as 25% fewer sugarcane per hour
Don't fire all of your pistons at the same time :)
The piston-arm over the sugarcane resets the amount of time it needs to grow, so the answer is yes, it does affect the amount of sugar canes, i recommend you to put a bud switch, its very easy to do and its very efficient.
You can also put a timer with a lot of time, so you are sure that the sugar cane will be growth when its harvested.
-
2Does it reset, really? Or does it just not allow growth while it's on top?– QuelklefJun 26, 2015 at 18:49
-
@Quelklef Based on my experiments (and who knows if this is different than it was in 2015), it just pauses it, not resets, assuming that it hadn’t grown yet. If it has, it resets to 0 instead of keeping whatever progress the second layer sugar cane had.– Daniel HApr 5, 2020 at 9:13
Try my farming system: I used an Inverted Daylight Sensor to power a redstone wire (you can make the wire about 5-7 blocks long), connected to a redstone repeater, and then continue with the wire and repeaters, to power the pistons only at evening. This way, you leave them untouched almost an entire day (not night) to grow. Even if the production is low this way, it is automated.
Regarding the time reset for sugar cane age, it resets if the sugar cane was 2 or more blocks tall, because the block that increases in age is the top one, and it is harvested, resetting the age.