One call registers the full set of 32, 89, or 256 colors.
Pass it a recipe of the following general form
```lua
unifieddyes.register_color_craft({
output = "mymod:colorized_node",
type = <nil or "shapeless">
palette = <see below>,
neutral_node = "some_mod:neutral_node",
recipe = {
<see below>
}
})
```
palette may be either "wallmounted" (32 colors), false or omitted
entirely (89 colors), or "extended" (256 colors).
The recipe section is either a shapeless list, or a standard three-line
shaped recipe, same as the regular register_craft() function. The key
difference is two placeholder keys that are now supported:
* if an item in the recipe is "MAIN_DYE", then Unified Dyes will, with
each pass of its registration loop, substitute the actual "dye:foo"
craft item in its place which corresponds with the current loop's color.
* if an item in the recipe list is "NEUTRAL_NODE", then the value of the
"neutral_node" field will be substituted in its place.
The expectation here is that the modder probably has some base recipe in
mind that, given no dyes, would result in a neutral, uncolored node. This
call creates all the recipes that would be needed to craft colored versions
of that neutral node either using that base recipe with dye added, or by
crafting the neutral node with some dye after the fact.
if you add `after_place_node = unifieddyes.recolor_on_place,`
to your node def, UD will automatically colorize the node when
placed, using the last dye you colored that kind of node with.
If you switch to some other colorable node, or you run out of whatever
color dye you were using at the time, a warning message will be printed
and the autocolor will be reset back to neutral.
If a player signs off, autocolor for him/her is reset to neutral
(this also helps prevent a minor memory leak)
also get rid of one or two debug prints.
full 256-color range:
24 full hues, with four lighter shades and two darker shades, plus
low-saturation versions of the full and darker shades,
and 16 levels of greyscale