Determine smeltable items dynamically (for pipes inputting items into furnaces)
As previously suggested in #1344 the changes replace the switch case statements for determining items smeltable and cookable inside a furnace, which are used to check if an item can be put inside a furnace, with comparisons to lists of the available smelting/cooking/blastsmelting recipes, as the hardcoded lists tend to be outdated.
This PR currently deadlocks my test server during startup. That would need to be fixed before this can be considered.
During my testing I didn't encounter any problems What configuration etc. does your server use?
Firstly, I rebased this on top of current master. Then I ran it on a default-settings Paper server with the 1.21.5 build number 36. The only plugins installed were WorldEdit, WorldGuard, LuckPerms, Vault, and this built PR of CraftBook.
What specifically happens is the server stops responding, and starts consuming all available memory (32GB, in this case). It then ends up stalled in GC threads, preventing even the watchdog from killing the server due to the stall.