Quality Food

Quality Food

56.1k Downloads

change the chance of the quality bonus for the farmer's delight cooking pot, based on the number of items present in the output

misterghast opened this issue ยท 1 comments

commented

The issue
Right now, as far as I can tell looking at the mixin class, the accumulated quality in the pot is applied to the whole result stack at once in such a way that crafting the same recipe multiple times with high quality items in each individual craft can bias the result heavily towards a higher quality, even if you only used, say, a total of 3 silver items when making a stack of 40 outputs by repeatedly crafting.

The solution?
I think dividing the bonus quality chance by the number of outputs should work, if I'm assuming correctly how the system works. Then, for instance, 5 silver ingredients for 5 outputs has the highest chance of getting 5 silver outputs, instead of rolling an entire diamond stack every time because all the silver items biased the chance heavily.

Forgive me if this has already been implemented and I just didn't notice it.

commented

public static float getCookingBonus(final ItemStack stack) {
Quality quality = getQuality(stack);
return switch (quality) {
case IRON -> 1 / 256f;
case GOLD -> 1 / 128f;
case DIAMOND -> 1 / 64f;
default -> 0;
};
}

at the moment lower rarities provide a lesser bonus and would need a higher quantity to skew the result

this is based on the furnace (single input) but basically with only silver quality items you'd not quite reach a point where you are very likely to get diamond results

maybe the problem here is more so the increased amount of input slots the cooking pot has
could divide the bonus by the amount of slots to reach the same result for the furnace (i.e. only silver doesn't give a guarantee of diamond rarity)