Possible Dandelifeon Logic Error
nrllewellyn opened this issue ยท 5 comments
I found a really weird bug with the dandelifeon while testing some new pattern ideas.
Steps to reproduce:
- Build this pattern:
(Green is a cell, red is any solid block, yellow simply represents the flower's area of consumption) - Turn on the flower
- After generation 9, the entire board will die off, even though there are cells that should live.
Other notes:
- Copying the state of the last generation into another dandelifeon's area allows the simulation to continue
- Removing and re-placing the cells inside the same dandelifeon's area also allows the simulation to continue
Video to illustrate the problem:
https://youtu.be/9kmMJiiX-Uw
Tested with:
Botania r1.9-334.jar
forge 1.10.2-12.18.2.2105
in your starting pattern, step 9 creates a live cell inside the dandelifeon eating area, which means all the board is cleared, that is normal behaviour
what is weird is that you setting the same setup above gives a different result
maybe the dandelifeon is not eating the board when an age 0 cell enters the eating area?
ARGH. I didn't realize that had changed. I was still operating under the assumption that it just eats the cells in the center and continues going.
However, you are correct. If you put a line of 3 cells along the edge of the "consumption zone", the first tick will not properly clear the board. So there's still a bug of some kind with "young" cells entering the consumption zone.
I looked at this for "fun". The desync shown in the video is due to this line of code which destroys generation 1 cells instead of reaping them for mana and triggering a wipe.
It looks like this was put in originally by e009903 and motivated to remove an exploit from the days when the board was not wiped clean upon reaping a cell.
So, is this intended behavior still? Or with the changes for wiping and mana generation is it no longer desirable to dis-allow gen 1 cells from creating mana?