Civcraft / RealisticBiomes

Do not open issues here; open them on the maintained fork @ DevotedMC
https://github.com/DevotedMC/RealisticBiomes
7 stars 14 forks source link

Cactus and sugar cane growth is bugged #87

Closed Aleksey-Terzi closed 7 years ago

Aleksey-Terzi commented 7 years ago

Original problem description: https://www.reddit.com/r/Civcraft/comments/51895l/cactus_growth_bugged/

Problem is that cactus and sugar cane are not growing as specified in RB config. Some plants are maturing in time - other maturing much much later than expected.

Example with sugar cane:

The only solution - break all sugar cane blocks and replant them each time on harvest

benjajaja commented 7 years ago

This has to be investigated further.

I think it's worth looking into why it is that BlockBreakEvents don't check for column-type plants in https://github.com/Civcraft/RealisticBiomes/blob/master/src/com/untamedears/realisticbiomes/listener/GrowListener.java#L299 so probably the time simply isn't reset until next chunk load event.

idoash4 commented 7 years ago

@gipsy-king The BlockBreakEvents seem to only be used for pumpkins and melons. From a quick testing I have done in-game sugar canes do seem to restart the growth timer when breaking the top part of the plant without reloading the chunk.

benjajaja commented 7 years ago

@BlackXnt right click with stick also restarts the growth, did you take that into account?

Aleksey-Terzi commented 7 years ago

Also want to draw attention that problem somehow related to water spots or slabs placed above.
Matured/not matured sugar cane looks like alternated by diagonal line along water spots.

I used this pattern: http://minecraft.gamepedia.com/File:Efficient_Sugarcane_Farm.png

idoash4 commented 7 years ago

@gipsy-king No I didn't. If that's the case your assumption is probably correct. I couldn't find anything else in the code that will reset the growth timer if you only break the top part. Weird no one noticed this in 2.0.

benjajaja commented 7 years ago

@BlackXnt perhaps because piston break event do (or should, guessing by the code) reset the stage, and in 2.0 everybody had full autofarms...

benjajaja commented 7 years ago

@Aleksey-Terzi this is really strange, surrounding blocks are not checked by RB for sugarcane.

benjajaja commented 7 years ago

Seems to be fixed by #88