-
Bug
-
Resolution: Unresolved
-
None
-
Minecraft 1.4.7, Snapshot 13w07a, Minecraft 1.5, Snapshot 13w11a, Minecraft 1.5.1, Minecraft 1.5.2, Minecraft 1.6.1, Minecraft 1.6.2, Minecraft 13w36a, Minecraft 13w36b, Minecraft 1.7.4, Minecraft 1.7.10, Minecraft 1.10.2, Minecraft 16w35a, Minecraft 16w36a, Minecraft 16w38a, Minecraft 1.12.1, Minecraft 1.12.2, Minecraft 17w43a, Minecraft 17w43b, Minecraft 17w48a, Minecraft 17w50a, Minecraft 18w01a, Minecraft 18w03b, Minecraft 18w06a, Minecraft 18w09a, Minecraft 18w10d, Minecraft 18w20c, Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 19w14a, Minecraft 1.14.3, 1.14.4, 19w39a, 1.15 Pre-release 6, 1.15.1, 20w07a, 1.16, 1.16.1, 1.16.2, 1.16.3 Release Candidate 1, 1.16.3, 1.16.4 Pre-release 1, 1.16.4 Pre-release 2, 1.16.4, 20w45a, 20w46a, 20w48a, 20w49a, 20w51a, 21w03a, 1.16.5, 21w05a, 21w05b, 21w06a, 21w14a, 21w15a, 21w16a, 21w17a, 21w18a, 21w19a, 21w20a, 1.17 Pre-release 1, 1.17 Pre-release 4, 1.17, 1.17.1 Pre-release 1, 1.17.1, 21w37a, 21w41a, 1.18 Pre-release 7, 1.18 Pre-release 8, 1.19, 1.19.2, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4 Pre-release 3, 1.19.4, 23w13a, 23w14a, 1.20 Pre-release 1, 1.20 Pre-release 2, 1.20 Pre-release 4, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2 Pre-release 1, 1.20.2 Pre-release 2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w44a, 1.20.4, 24w03b, 24w04a, 24w05a, 24w11a, 24w12a, 1.20.6, 1.21, 1.21.3
-
Confirmed
-
Networking
-
Normal
-
Platform
The bug
When you start a furnace burning and then swap out what's in the fuel slot and save and quit, the next time you load the burn time indicator will glitch. The reason for this is that the NBT file for furnaces does not store the max fuel burn time and instead dynamically gets it from the fuel slot, which may no longer contain the same item as was used to initially fuel the furnace. This can be seen in the code snippet attached.
To reproduce
- Start furnace burning with a fuel other than a stick.
- Allow the burn time to visibly decrease.
- Swap the fuel with something that burns shorter than the original fuel.
- Save and quit.
- Reload the save.
- Open the furnace.
- The burn time indicator will have increased.
With particularly large differences (lava bucket to stick), the progress bar may wrap around the top of the screen and display twice (see 2016-09-19_14.59.18.png).
Fix
Rather than attempting to guess the total burn time of the original item, it should be saved too:
public void readFromNBT(NBTTagCompound compound) { super.readFromNBT(compound); this.furnaceItemStacks = NonNullList.<ItemStack>withSize(this.getSizeInventory(), ItemStack.EMPTY); ItemStackHelper.loadAllItems(compound, this.furnaceItemStacks); this.furnaceBurnTime = compound.getShort("BurnTime"); this.cookTime = compound.getShort("CookTime"); this.totalCookTime = compound.getShort("CookTimeTotal"); //this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks.get(1)); this.currentItemBurnTime = compound.getShort("BurnTimeTotal"); // added if (compound.hasKey("CustomName", 8)) { this.furnaceCustomName = compound.getString("CustomName"); } } public NBTTagCompound writeToNBT(NBTTagCompound compound) { super.writeToNBT(compound); compound.setShort("BurnTime", (short)this.furnaceBurnTime); compound.setShort("CookTime", (short)this.cookTime); compound.setShort("CookTimeTotal", (short)this.totalCookTime); compound.setShort("BurnTimeTotal", (short)this.currentItemBurnTime); // added ItemStackHelper.saveAllItems(compound, this.furnaceItemStacks); if (this.hasCustomName()) { compound.setString("CustomName", this.furnaceCustomName); } return compound; }
- is duplicated by
-
MC-9288 Leaving game when furnace is on causes it to burn repeatedly
- Resolved
-
MC-12954 furnance that dosent stop smealting
- Resolved
-
MC-16379 furnaces don't display fire level
- Resolved
-
MC-19821 furnace power entering and coming back from nether
- Resolved
-
MC-21643 Furnaces with semi-infinite fuel!
- Resolved
-
MC-24413 Furnace Fire Meter Inaccuracy
- Resolved
-
MC-25812 Infinite Furnace with coal block when I leave it burning while I go to the nether in hardcore
- Resolved
-
MC-27369 Lava Furnace Bug
- Resolved
-
MC-28309 Coal Block is an infinite source of fire power
- Resolved
-
MC-28415 Forever Burning Furnace- Hopper use glitch?
- Resolved
-
MC-37534 A furnace can lose track of progress, flame only starts down when less than a smelt's worth of time remains.
- Resolved
-
MC-48292 furnace fuel level indicator not updating for Lava Buckets after save&quit and relogin. single player.
- Resolved
-
MC-52555 Lava Fuel in Furnace
- Resolved
-
MC-120834 Infinite fuel in Furnace
- Resolved
-
MC-129851 Furnace interface bug
- Resolved
-
MC-169324 Viewing a furnace during a server restart refreshes the fuel consumed
- Resolved
-
MC-172513 Furnace fuel bug in snapshot 20w07a and Nether loading sound while in furnace UI.
- Resolved
-
MC-191271 Furnace Won't show how much fuel is Left when I quit and rejoin
- Resolved
-
MC-193199 visual "Infinite" fuel glitch with lava
- Resolved
-
MC-194129 The furnace fuel indicator does not run out until the last item.
- Resolved
-
MC-195242 Going in and out of the nether resets the instance of a fuel in a Furnace.
- Resolved
-
MC-199798 Furnace Smelting Rendering Animation Offset
- Resolved
-
MC-201776 Blast furnace refill of fuel in nether
- Resolved
-
MC-205978 furnace visual bug after game crash
- Resolved
-
MC-229700 Infinite furnace
- Resolved
-
MC-242790 The progress bar of furnace displays wrongly after reload the game
- Resolved
-
MC-252883 Furnace's fuel spent resets when you quit the game.
- Resolved
-
MC-264677 Furnace GUI is sometimes displayed incorrectly after relogging
- Resolved
-
MC-265797 Furnace doesn't store initial burn time.
- Resolved
-
MC-269927 Fuel indicator (fire symbol) in furnace resets to full on world reload if no fuel is present.
- Resolved
- relates to
-
MC-274088 Spawn chunks do not load most things except redstone
- Resolved
-
MC-137146 Furnace fuel indicator incorrect on chunk unload
- Open
-
MC-26304 Brewing stands reset brew cycle when unloaded
- Resolved
-
MC-80938 Non-default BurnTime, CookTime and CookTimeTotal values of furnace can cause GUI to be displayed incorrectly
- Resolved
-
MC-264260 Furnace GUI is displayed incorrectly when modifying block data
- Resolved