[Fabric only] Liquid blaze burners use fuel at twice the expected rate
Describe the bug Liquid-fuel blaze burners decrement their time remaining twice per tick, so use fuel at twice the expected rate.
To Reproduce
- Place a blaze burner
- Give it a straw
- Give it a bucket of lava
- Wait 500 seconds (10,000 game ticks)
- Note that it has stopped burning.
Alternate steps 4 and 5: use Carpet mod to tick step and see that the burn time decreases by two each tick.
If you look at https://github.com/mrh0/createaddition/blob/bf11060351177ebe36c55a26157448f2a1bb0280/src/main/java/com/mrh0/createaddition/blocks/liquid_blaze_burner/LiquidBlazeBurnerBlockEntity.java#L210-L219 you can see that it decrements the counter no matter what, and then again if not creative.
If you look at the equivalent section of the Forge code, you see https://github.com/mrh0/createaddition/blob/e82c79e99a35c4d027f398bacb679e8d1fb114d2/src/main/java/com/mrh0/createaddition/blocks/liquid_blaze_burner/LiquidBlazeBurnerBlockEntity.java#L200-L206
there is only one decrement statement because the early-exit for creative (and the call to burningTick) is before the decrement.
Iʼm not sure if the Forge solution would work here; there are some differences in burningTick that mean it might run into issues based on whether itʼs before or after the decrement in the case where we are now out of fuel. But at the very least the first conditional should be removed.
Additional context
- Mod version: 1.2.3
- Fabric version: 0.15.7
- Create version: 0.5.1f build 1335
I changed the order to make liquid blaze burners refill instantly (see also #726). I'd maybe do this on forge too because this might happen again next time we merge forge into fabric.