AgriCraft

AgriCraft

30M Downloads

Spread/Mutation chance question

mrlamb opened this issue ยท 1 comments

commented

Love the mod. Been frustrated lately at just how slow it seems that plants spread. I know this is configurable in the JSON, but I went looking through the code just to make sure I understood what those "spread_chance" and "crossover chance" (in the config) were really doing. In TileEntityCrop.growthTick() you have one random block for whether a crossover can happen. Assuming that this (15% by default) chance happens, you then proceed down the call chain to IAgriMutationEngine.attemptCross() which (and correct me if I'm wrong) seems to randomly choose either a mutation strategy or spread strategy.

If I'm with you so far, I noticed that in SpreadStrategy.executeStrategy() the crop has to pass yet another very small (at least with default configs for most plants it seems to be 10%) chance for it to spread.

Was the double whammy of hard rolls intended? If so, which is the best modifier to change to accelerate spreading. I'm doing a casual style pack where I intend you to be able to spread from 1 parent with no stat loss but it feels interminably long between spreads with the default 15% crossover and 0.1 spread_chance.

Also I feel like I've found a different but kind of related bug. Crops seem to want to spread to non-crosscrop crops but when they do, the plants don't grow. Kind of like they are weeds. I feel like this is a result of crop.setPlant(plant) in TileEntityCrop.spread() as opposed to crop.setSeed(seed) in say IAgriMutationEngine.attemptCross().

Sorry for the long rambling post. My head may be full of all the wrong answers, but these things were bugging me.

commented

I'm quite sure the double spread roll is a bug, it used to just lead to two blocks of code, but was moved over to the strategy system, I think this is a remnant of that change.

Thanks for the digging.