Where a recipe specifies an ingredient by group, show a typical group
item pictorially, with a label flag to indicate that it's a group rather
than the single item. This is the inverse of the previous arrangement,
which identified the group by label and dipicted groupiness pictorially.
The new arrangement is easier to interpret, and if the labels are ignored
it actually shows a correct input to the crafting grid.
New system of registration of craft types, recording for each a display
description and the appropriate grid shape. Recipes of a registered type
are shown in the correct grid. Recipes of unregistered craft types are
still displayed as before, using the default 3x3 grid.
The crafts_table was being initialised to contain only core-registered
crafts, but this would overwrite any non-core craft types that had
already been registered via unified_inventory.register_craft(). This was
especially likely because the crafts_table initialisation runs on a delay,
following all normal initialisation. Instead, feed the core-registered
crafts into unified_inventory.register_craft().
get_all_craft_recipes() returns the recipes that were registered under the
specified name, so asking about an item's canonical name won't see recipes
registered under an alias, and vice versa. Several mods register recipes
under aliases, so the craft guide was missing that handful of recipes.
To work around it, invert the aliases table and ask explicitly about
each alias.