Commit Graph

159 Commits

Author SHA1 Message Date
Vanessa Dannenberg a55f6faa14 further refine how colored itemstacks work 2018-08-21 23:28:17 -04:00
Vanessa Ezekowitz a8caed8195 separate the make-colored-itemstack code into its own function 2017-06-20 17:01:54 -04:00
Vanessa Ezekowitz 731c7d133e disable old after_dig_node() callbacks
(don't split a digged node into neutral+dye)
2017-06-20 17:01:54 -04:00
Vanessa Ezekowitz ad8ab99bd8 disable auto-coloring code entirely 2017-06-20 17:01:54 -04:00
Vanessa Ezekowitz 07101b99fe add helper function for crafting param2-colorized items
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.
2017-06-20 17:01:54 -04:00
Vanessa Ezekowitz 133bc06e3d link API to README 2017-06-20 17:00:46 -04:00
Vanessa Ezekowitz 9018efd1b9 rename README 2017-06-20 16:58:33 -04:00
Vanessa Ezekowitz 9503386100 update README, point user to forum for detailed usage info 2017-06-20 16:50:24 -04:00
Vanessa Ezekowitz 40b836edf4 document the API 2017-06-20 16:44:27 -04:00
Vanessa Ezekowitz 495479c6a2 remove a few redundant aliases 2017-06-20 16:11:15 -04:00
Vanessa Ezekowitz 0822757382 add alternate recipe for dark orange 2017-06-20 16:04:00 -04:00
Vanessa Ezekowitz ffd03b9c3c clean-up of dark/medium orange and light/red
(fixes #13)
2017-06-20 15:44:28 -04:00
Vanessa Ezekowitz 8b20a069d3 rotation fixes for compat with minetest 0.4.16 2017-06-04 16:17:37 -04:00
Vanessa Ezekowitz 9dd533f4a0 Merge pull request #9 from AntumDeluge/settings
Replace deprecated 'setting_getbool' with 'settings:get_bool'
2017-05-18 05:44:39 -04:00
Vanessa Ezekowitz 83261d5db4 Merge pull request #8 from AntumDeluge/master
Replace deprecated call to 'get_look_yaw' with 'get_look_horizontal'
2017-05-18 05:44:31 -04:00
AntumDeluge 73e05d9c76 Replace deprecated 'setting_getbool' with 'settings:get_bool' 2017-05-13 16:55:37 -07:00
AntumDeluge df3f1b18ab Replace deprecated call to 'get_look_yaw' with 'get_look_horizontal' 2017-05-03 23:05:40 -07:00
Vanessa Ezekowitz df177c26a7 allow shift-punching on a colorable node, to cancel auto-coloring
also add a message in the chat when auto-color is activated, and with what.
2017-03-18 15:56:28 -04:00
Vanessa Ezekowitz cf186f5f9c make sure the pointed thing is a node before checking protection 2017-03-18 14:37:09 -04:00
Vanessa Ezekowitz 726bb75e1d add recolor-on-place helper
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.
2017-03-18 03:26:05 -04:00
Vanessa Ezekowitz 8fc5468212 remove outdated comment 2017-03-17 22:26:51 -04:00
Vanessa Ezekowitz 63153f1093 protection check on_use 2017-03-17 03:18:06 -04:00
Vanessa Ezekowitz 15b6016f0f on_construct for nodes that were 89-color or static,
but now use an LBM to convert to the 256-color palette
2017-03-14 02:05:52 -04:00
Vanessa Ezekowitz 978e88bda5 don't crash if the dye target is an unknown node :P 2017-03-11 21:20:10 -05:00
Vanessa Ezekowitz 70b1f9fbc9 made base_color_crafts, shade_crafts,
and greymixes tables globally accessible
2017-02-26 22:32:56 -05:00
Vanessa Ezekowitz 2804327825 get rid of some redundant variables
(just directly reference the table elements instead)
2017-02-26 18:56:12 -05:00
Vanessa Ezekowitz 315dfb8283 add another recipe 2017-02-26 18:39:41 -05:00
Vanessa Ezekowitz f852fb6861 add more hue recipes
also fix a variable that got capitalized for some reason
2017-02-26 18:37:34 -05:00
Vanessa Ezekowitz 2b9831a869 add more "direct" recipes
for the more esoteric colors
2017-02-26 17:57:44 -05:00
Vanessa Ezekowitz 0cd0758c08 only use the node def's palette entry to check palette type
(don't assume it has to be paramtype2="color", otherwise that screws up
uncolored nodes that need this check for on_use)
2017-02-26 10:55:49 -05:00
Vanessa Ezekowitz 46a55946ef define on_use for default dyes
(forgot to include the overrides)
2017-02-25 16:45:57 -05:00
Vanessa Ezekowitz dcf9bf648f override default dyes to keep their hues/shades consistent
with how this mod uses them.  Also fix missing aliases for same.
2017-02-25 16:41:16 -05:00
Vanessa Ezekowitz 58cac62bf4 clean up greyscale portion of extended palette
remap greys slightly, tweak related recipes
2017-02-25 15:41:14 -05:00
Vanessa Ezekowitz 22243fa684 add grey crafts and consolidate slightly 2017-02-25 14:41:53 -05:00
Vanessa Ezekowitz 9f36afaf50 greys were mapped slightly wrong, fixed 2017-02-25 14:07:35 -05:00
Vanessa Ezekowitz 3f9e8e4554 fix missing full-s50 defs,
fix a couple more broken recipes
2017-02-25 13:22:08 -05:00
Vanessa Ezekowitz 92da3a5345 add crafting recipes for all hues and some greys
also fix broken light grey registration
2017-02-25 12:44:22 -05:00
Vanessa Ezekowitz 91d260b538 make some color tables globally accessible (in unifieddyes namespace) 2017-02-24 22:52:05 -05:00
Vanessa Ezekowitz e3f73e07e7 remove some debug statements 2017-02-24 21:56:29 -05:00
Vanessa Ezekowitz fe455a7e44 dyes -> not in creative inv 2017-02-24 20:42:04 -05:00
Vanessa Ezekowitz d2819353c2 fix greys in palette conversion table 2017-02-24 20:13:43 -05:00
Vanessa Ezekowitz fbe762cf19 it's okay to use an oversized palette
also formula for 89->256 table was wrong
2017-02-24 19:57:48 -05:00
Vanessa Ezekowitz e0c87656ed Mark the node via its metadata if it's been painted with 256-color palette 2017-02-24 19:21:15 -05:00
Vanessa Ezekowitz cf89bc6a24 translate new dye names to old for 89-color palette check 2017-02-24 18:48:02 -05:00
Vanessa Ezekowitz 50013d21d1 Add detection and setting of new palette
(with any luck, all that's left now is to update the mods that use
Unified Dyes, where the new palette is wanted)
2017-02-24 18:38:15 -05:00
Vanessa Ezekowitz 9ad1f28ae1 auto-generate the various dye craftitems
and base them all on a single colorized texture.
2017-02-24 17:40:37 -05:00
Vanessa Ezekowitz 68f8c18bc3 get rid of HUES2 table (use string ops to replace it) 2017-02-24 14:28:38 -05:00
Vanessa Ezekowitz 0ceb8f0afe add extended palette
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
2017-02-24 14:21:59 -05:00
adrido 34299b01a0 fix not being able to pick up dropped objects while wielding dye 2017-02-21 07:46:38 -05:00
Vanessa Ezekowitz 295cd027f2 add on_rotate handler
to correct rotation for "fake wallmounted" nodes so that they always appear
to be on the floor, pointing at one of the four NSEW directions.
2017-02-18 13:00:06 -05:00