mojira.dev
MCPE-57330

Kelp Growth is much slower than it used to be

*Revised description by [~Auldrick]:

Kelp stops growing prematurely, at least in most cases. This cessation of natural growth is permanent for a given kelp plant, but growth can be resumed by breaking any kelp block in the stalk. Growth of a plant can also be resumed (sometimes) by causing a block update to the topmost kelp block of the stalk. When either of these methods is used, the growth will eventually stop prematurely again, but at a new maximum height. Note that bone meal cannot be used to resume growth.

The height at which any given plant stops growing is variable, but is not random. In a fresh copy of a world imported from a backup, any given kelp plant will always stop growing at the same height (but different plants will stop at different heights), So for a single plant, the behavior is reproducible, but at the scale of a kelp farm the maximum growth height appears to be randomly determined.

The normal mechanics of kelp growth that are intended to limit how high a plant grows have been eliminated as possible causes of this behavior.

  • The block above the top kelp block is water or flowing_water.

  • The kelp's age property (examined with multiple 3rd party tools) is less than 25. In fact, it has been observed to be 0 in some cases. As additional evidence, placing and then breaking a solid block above the kelp will sometimes cause it to resume growing, so it must have had age < 25 when it was stopped.

Impact:
In a kelp farm, a piston is used to break a kelp plant that has grown to a certain height or for a certain length of time. Each time it's broken, its top block is randomly assigned a new age, which determines how high the plant can grow before the next harvest cycle. (I believe the intent is to produce a more natural looking kelp bed by preventing all the plants from topping out at the same height.) The kelp farm is designed with the piston positioned to break the second block of the plant so that, regardless what the randomly assigned age may be, the plant is always guaranteed to grow high enough to be broken again during a later harvest cycle.

This bug thwarts that design because each time the piston breaks the plant, the plant may become affected by the bug and cease growing at some effectively random height. Most of the time, that height will still allow it to grow high enough to be broken again. But the shortest maximum height that can occur this way is 1, so from time to time a plant will become unable to grow up in front of the piston any more. Once that happens, its bug-imposed maximum height cannot change, so the plant will never grow again without intervention.

Because the bug-imposed maximum height is randomly determined, a farm will start out growing kelp at a rapid pace, but as more and more plants become stuck at maximum height 1 and stop growing, the output of the farm declined over time until ultimately it produces no kelp at all.

Steps to reproduce:
1. Import the world

[media]

. This world contains a single kelp block in a miniscule farm. The kelp block is known to be affected by the bug and has a maximum growth height of 2, despite the actual age of the kelp being 0. The world's randomtickrate is set to 300 to speed up the testing process.
2. Wait for the kelp to grow at least 2 blocks, which should activate the observer and fire the piston to break the kelp.

Expected results:
The kelp eventually grows to 3 blocks in height, which triggers the observer, which fires the piston to break the kelp. (I didn't actually connect the observer output to the piston, but it doesn't matter because the kelp never grows high enough anyway.)

Actual results:
The kelp grows to 2 blocks in height, then stops growing forever.

Speculation:
As a hunch, this might be related to the fix for MCPE-50175. That fix eliminated large numbers of erroneously generated pending chunk data elements associated with kelp farms, which was causing extreme lag as they continued accumulating and were not being deleted. If creating and destroying pending chunks data is part of the normal processing logic for kelp, which seems likely given the association with kelp farms, it might be that the fix was too aggressive in eliminating them, with the result that a necessary trigger for resuming deferred kelp growth under certain circumstances is no longer happening. The fix was implemented in 1.14.0, which is the same release when people started reporting this bug.

 

Problem: Kelp seems to be growing much, much slower than it used to.

 

I've noticed this in the past several Beta Updates. I can't remember which update specifically.... but Kelp has been growing extremely slow compared to how it used to grow.

 

In my Kelp farm, I broke them all down to last base Kelp and waited, and after nearly 30 minutes of waiting only a Single stalk of Kelp had grown, and it had only grown once.

 

This is... so much slower than it used to be. Is this a bug? Or was it an intended change? 

[media]

Linked issues

Attachments

Comments 124

This is not a bug. The growth of kelp depends on the amount of light available and the biome that you are in. For example, if you are growing kelp in a desert biome, it will grow very slowly.

Was that a recent change? And if not... then something has definitely been changed since the jump from 1.13 beta to 1.14 beta.

I'm using the same farm, same place, same world. The only difference was the update.

After making a backup world  to test it in creative, I needed to set random tick speed to 20-25 to get about the same rates that I used to before these updates.

 

With about 1 hour of playtime(within generated chunk  distance) I only got about 20 kelp drops in total. And that was with 40 separate kelp plants in my farm. 

 

Pretty sure that it is some kind of bug or unintended change. 

I'm also having this issue since updating the beta from1.13 to 1.14

I just updated to 1.14 today and I can't even bone meal them to make them grow consistently. Does this have something to do with the growth height limit that Java has?

 

@Hayden Kelp isn't supposed to care about light levels/sky access or biome. https://minecraft.gamepedia.com/Kelp#Growth_mechanics

I have the same problem my kelp farm that was working fine before the up date no longer seems to be growing at all. I sat here for 20 plus minutes and not a single plant grew.

114 more comments

As this was fixed in 1.16, can someone test MCPE-50175 to ensure that this fix did not bring back that bug?

I am still experiencing a form of this bug in 1.16.20

After a little while absolutely no kelp will grow in my observer/piston based kelp farm - it gets stuck on 2 high (just in front of the piston) so it's never seen by the observer. As far as I can tell it's not even just growing "slower" - after hours even with increased tick rate none will grow. A timer based design seems to work, however (since the kelp always reaches 2 high.)

@@unknown what you are experiencing is a design limitation of your farm. Kelp stops growing at age = 25. When you break a piece, the piece below gets a new random age from 0 to 24. If it gets 24 it will only be able to grow one block up from that. So farms that rely on observers detecting at 3-high will eventually stall. See the comments above from May 15.

Hi GoldenHelmet, 

if it is true what you write (about the cut and grow again algorithm), than the error is easily fixed! If the random age for the piece below is generated, it should never get a number greater than 23! So there should be a minimum growth of 2 pieces - right?!

I changed my kelp farm to a timer based piston-cutter. So for me there is no expensive observer (for every kelb?) needed.

 

 

@unknown - Yes, but currently, it is intended for kelp growth to be like this. The issue has been fixed, and suggestions about the limit should be on feedback.minecraft.net.

Sickle Inc

(Unassigned)

289009, 310329, 342522

Confirmed

Multiple

Android 9

1.16.0.57 Beta, 1.16.0.53 Beta, 1.14.30.51 Beta, 1.14.0.51 Beta, 1.14.0.50 Beta, 1.14.0, 1.14.30 Hotfix, 1.14.60 Hotfix

1.16.0.61 Beta, 1.15.0.55 Beta, 1.16.0

Retrieved