As of Minecraft Java Edition 1.21, Furnace fuel times are hard coded to certain amounts within (as named with the Mojang Mappings) AbstractFurnaceBlockEntity's method:
public static Map<Item, Integer> getFuel();
The problem with this is that loading fuel time within this method uses a hardcoded list of timings, preventing them from being modified by datapacks/custom maps to values other than the ones registered to an item. With 1.20.5 introducing the new item component system, certain attributes were no longer hardcoded as they were before. An example is with minecraft:food allowing you to make any item edible, something previously hardcoded into the item when registering it.
Since other attributes are no longer hardcoded as explained, it would makes sense for fuel times for furnaces to follow suit
An example of such syntax for how this would work would look something like this:
/give @s stone[minecraft:furnace_fuel=1200]
This would give the player a block of stone that when put into any furnace-like block would fuel it for 1200 ticks. This would also make it easier to register new fuel times in the future and goes along with the idea of expandability and flexibility that the new item component system is trying to achieve.
Please sign in to leave a comment.
0 Comments