Botania (Fabric/Quilt)

Botania (Fabric/Quilt)

5M Downloads

[1.10.2] Newly Crafted Mana Infusion Products are eaten by Endoflames

codewarrior0 opened this issue ยท 4 comments

commented

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.

commented

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:

  1. 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.

  2. 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.

  3. 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:

  1. An Infusion product should not be recrafted until 25 ticks after it is crafted.
  2. A product should be picked up by a Hopperhock (with any delay) before it is eligible for recrafting.
  3. A product should not be eaten by an Endoflame (with any delay) before the player can pick it up.
  4. 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.

commented

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.

commented

Just got burned by this again. Fuck it, here's a cheap band-aid.

commented

This issue is stale because it has been open for a while with no activity. Remove stale label or comment or this will be closed soon.