This mod does a couple things relating to the vanilla furnace, blast furnace, and smoker so that they run faster during their update method, improving TPS.
Similar to FastWorkbench, it caches the last recipe used, and checks this recipe first before re-scanning the entire registry. This is significantly faster due to the vanilla furnace scanning the entire furnace registry each tick, which may be fine for vanilla, but in a modded environment, gets very large very quickly.
Additionally, the mod fixes a bug in serialization of the furnace, which would cause burn times above 32767 to be ignored during saving (as the burn time was cast to a short even through an int was written).
These changes apply to the Furnace, Blast Furnace, and Smoker. Mods should follow the same practices that this mod does in order to ensure fewer loops over the smelting list.
For people who like numbers, here is Vanilla vs FastFurnace. This is 9 furnaces each smelting cobblestone the entire time the test was conducted. The number of invocations is kept roughly the same as to not skew any numbers. This test was conducted in vanilla, which only has ~70 furnace recipes. In a modpack, there could be upwards of 700, significantly increasing the performance gain.
Be sure to also check out FastWorkbench & Toast Control!
I've partnered with BisectHosting! If you need a quality server, click the banner above and use code "Shadows" for 25% off your first mont