xvx I see the issue. AutoFarm won't harvest a chorus flower before its mature (age: 5 block state).
I didn't know there were farm designs like this that prevent the chorus flower from maturing by placing a block above it.
Since I'm making a v7.51.1 for the X-Ray issue anyway, I'll also make it so when there is a block above a chorus flower, AutoFarm will consider it mature and harvest it.
As for how chorus harvesting works in AutoFarm, it's actually the most complex logic of any plant type:
- Mature chorus flowers are harvested first
- Then, each branch (
chorus_plant block) of a chorus plant is traced to the nearest flower to figure out if it's safe to break.
- Any branch not supporting a flower is harvested, sorted by distance from the player (closest first).
- Any branch connected to >1000 other branch blocks and no flower is assumed to have a flower somewhere and thus not harvested.
- The tracing logic uses the
chorus_plant block state to determine which other blocks its connected to, which means that:
- If you grow chorus plants really close together (where branches might be next to each other but not visually connected), AutoFarm will correctly treat the plants separately.
- If you add/remove connections with a debug stick or commands, AutoFarm will start/stop tracing those connections as well. One-way connections (normally impossible) are traced one-way too.