AgriCraft

AgriCraft

30M Downloads

Horn and Drum of the Wild do not fully harvest large fields

pterodactal666 opened this issue ยท 7 comments

commented

In Regrowth 0.8.7 with Agricraft updated to 1.4.6-hotfix I have noticed that the Horn and Drum of the Wild do not fully harvest very large Agricraft fields.

As can be seen in the following screenshot, I have a 12ร—12 field of Wheat on Crops and a Drum of the Wild in one corner. Multiple Mana Bursts fired into the drum have resulted in the harvest pattern shown and no further harvesting.

2015-12-22_19 11 25

I am not sure if the source is on your end or vazkii's.

commented

I just implemented the interface from the Botania API:
https://github.com/InfinityRaider/AgriCraft/blob/1.7.10/src/main/java/com/InfinityRaider/AgriCraft/blocks/BlockCrop.java#L788-L816
I don't think I did anything wrong though.

commented

I have enabled normal farming, planted a normal wheat farm the same size in one of the other quadrants to compare and after multiple mana bursts the whole lot was harvested. It took 5-6 bursts to achieve this. Could there be something that makes it not check every harvestable block every time and this is not updating on agricraft crops?

commented

Hi,
Regrowth 0.8.8 reverted back to Agricraft 1.4.5 (had the 1.4.6pre before) and now it doesn't work at all with Botania 245. I observed the same issue though, you can see it on reddit:

https://www.reddit.com/r/feedthebeast/comments/3xq0vj/regrowth_bug_drum_of_the_wild_not_uprooting_all/

commented

Looking at the Botania code, it appears that it's the responsibility of the implementation class to "move around" and harvest everything.

This breakGrass() method is an example of this. Basically it breaks a set of crops, then gets another random set of coordinates within range and attempts to break those.

commented

I've had a closer look at the botania code and it seems to collect all blocks which are harvestable by the drum and then gets a subset out of these. This subset, is always the same however, so I added an additional check to the can harvest method to see if the plant is mature.

commented

Looks like my interpretation of the code wasn't quite right, but glad I could help in some way (if my suggestion helped put you on the right track, that is). ๐Ÿ˜„

commented

Your interpretation was right, it's just the way it selects what blocks to break, I didn't add a maturity check in that first method, because it slows it down quite a lot.