[1.10.2] Newly Crafted Mana Infusion Products are eaten by Endoflames
codewarrior0 opened this issue ยท 4 comments
Botania r1.9-341
For example, Hay Bale -> Sugar Cane and Oak Sapling -> Spruce Sapling are immediately eaten by a nearby Endoflame before the player can pick it up.
Root cause: Mana Infusion products are spawned in world with age==105
. An Endoflame will eat anything with age >= 59 + delay
where delay is 0 for dirt, 5 for mycelium, and 10 for podzol.
Related changes, in order:
-
In 8255b54, which allows the Hopperhock (at the time, only picks up items with
age >= 60 + delay
) to pick up newly crafted items before the Pool recrafts them, the Mana Pool creates newly crafted items with age 55. At the time, the Mana Pool could only craft one item every 20 ticks. -
In 548e9fa, which removes the Pool's cooldown and instead prevents the Mana Pool from re-crafting with a newly crafted product for one second, the age of the products was also changed from 55 to 105, presumably to allow an entire stack of player-dropped items to be crafted without passing through the "recrafting exclusion zone" of
100..130
. This age change is what allows the Endoflame (and Hopperhock, until the next commit) to eat the products. -
In 5e6c5a8 , which prevents the Hopperhock from picking up newly crafted items before the player can pick them up, changes the Hopperhock to ignore items with
105 <= age < 110
So basically this is a historical mess. Let's go over it from a different angle. Our requirements:
- An Infusion product should not be recrafted until 25 ticks after it is crafted.
- A product should be picked up by a Hopperhock (with any delay) before it is eligible for recrafting.
- A product should not be eaten by an Endoflame (with any delay) before the player can pick it up.
- A product should not be picked up by a Hopperhock (with any delay) before the player can pick it up.
I previously proposed some new age values, but then I inferred that the reason for the change to age=105
was to allow a stack of player-dropped items to be crafted consecutively, so now I'm not so sure... but I don't like the fix of putting 105 <= age < 110
on the Endoflame too since it looks like a cheap band-aid.
And as an aside, now I have an explanation for why the mana pool seemed to pause for a second after I dropped in three stacks of Redstone to make Glowstone.