* Split up `get_compass_image()` into smaller functions. This allows
for better code sharing between old and new API and globalstep fn.
* Add `get_compass_itemname()` function. It will be the new API of
choice, `get_compass_image() will be deprecated soon.
* Remove function declaration out of globalstep function.
* Various other performance improvements.
* Add local aliases for global functions
* Lodestone compasses can only stack 1 item.
* Document functions and variables.
* Fix lodetone compass inaccurately reusing compass descriptions.
* Add usage descriptions to node definitions
* Refactor craftitem registration code.
* Update translation templates.
This spawns a villager per bed on village gen and saves the bed
position in the entity. If it moves too far from the village
it gets teleported (for now) back.
By adding cobbled deepslate to the group "cobble", it automatically
inherits all crafting recipes and tool repair capabilities that apply
to that group.
* Add `cobble=1` to cobbled deepslate node definition groups. This
requires a little refactoring of the deepslate variants registration
function.
* Remove stone tools, furnace and brewing stand crafting recipes.
* Register "cooking" crafting recipe for deepslate ores that enables
smelting these ores in furnaces.
* Extend deepslate ore registration function to allow passing cooking
result as argument.
* Update the deepslate ore table to include smelting results.
* Put deepslate w/ lapis drops in a separate table, making the deepslate
ores table less unwieldly.
The discussion about how to handle the new ores is still ongoing.
This PR was originally only intended to add the new nodes so
that's what it does now.