diff --git a/init.lua b/init.lua index 09b156f..2466a85 100644 --- a/init.lua +++ b/init.lua @@ -41,26 +41,6 @@ else S = function(s) return s end end --- helper functions for other mods that use this one - -unifieddyes.HUES = { - "red", - "orange", - "yellow", - "lime", - "green", - "aqua", - "cyan", - "skyblue", - "blue", - "violet", - "magenta", - "redviolet" -} - -unifieddyes.HUES_WITH_GREY = table.copy(unifieddyes.HUES) -table.insert(unifieddyes.HUES_WITH_GREY, "grey") - -- the names of the various colors here came from http://www.procato.com/rgb+index/ unifieddyes.HUES_EXTENDED = { @@ -90,6 +70,13 @@ unifieddyes.HUES_EXTENDED = { { "crimson", 0xff, 0x00, 0x40 } } +unifieddyes.HUES_WITH_GREY = {} + +for _,i in ipairs(unifieddyes.HUES_EXTENDED) do + table.insert(unifieddyes.HUES_WITH_GREY, i[1]) +end +table.insert(unifieddyes.HUES_WITH_GREY, "grey") + unifieddyes.HUES_WALLMOUNTED = { "red", "orange", @@ -162,8 +149,6 @@ unifieddyes.player_last_right_clicked = {} unifieddyes.palette_has_color = {} unifieddyes.player_showall = {} --- unifieddyes.player_last_right_clicked[placer:get_player_name()] = {pos = pos, node = node, def = def} - -- if a node with a palette is placed in the world, -- but the itemstack used to place it has no palette_index (color byte), -- create something appropriate to make it officially white. @@ -238,6 +223,7 @@ end -- This helper function creates a colored itemstack function unifieddyes.make_colored_itemstack(item, palette, color) + print(item, palette, color) local paletteidx = unifieddyes.getpaletteidx(color, palette) local stack = ItemStack(item) stack:get_meta():set_int("palette_index", paletteidx) @@ -247,13 +233,15 @@ end -- these helper functions register all of the recipes needed to create colored -- nodes with any of the dyes supported by that node's palette. -local function register_c(craft, hue, sat, val) +local function register_c(craft, h, sat, val) + local hue = (type(h) == "table") and h[1] or h + print(craft.output, craft.output_prefix, craft.output_suffix, h, hue, sat, val) local color = "" if val then - if craft.palette ~= "extended" then + if craft.palette == "wallmounted" then color = val..hue..sat else - color = val..hue[1]..sat + color = val..hue..sat end else color = hue -- if val is nil, then it's grey. @@ -294,7 +282,7 @@ local function register_c(craft, hue, sat, val) end function unifieddyes.register_color_craft(craft) - local hues_table = unifieddyes.HUES + local hues_table = unifieddyes.HUES_EXTENDED local sats_table = unifieddyes.SATS local vals_table = unifieddyes.VALS local greys_table = unifieddyes.GREYS @@ -306,7 +294,6 @@ function unifieddyes.register_color_craft(craft) sats_table = {""} vals_table = unifieddyes.VALS elseif craft.palette == "extended" then - hues_table = unifieddyes.HUES_EXTENDED vals_table = unifieddyes.VALS_EXTENDED greys_table = unifieddyes.GREYS_EXTENDED end @@ -391,10 +378,10 @@ end function unifieddyes.get_hsv(name) -- expects a node/item name local hue = "" local a,b - for _, i in ipairs(unifieddyes.HUES) do - a,b = string.find(name, "_"..i) - if a and not ( string.find(name, "_redviolet") and i == "red" ) then - hue = i + for _, i in ipairs(unifieddyes.HUES_EXTENDED) do + a,b = string.find(name, "_"..i[1]) + if a then + hue = i[1] break end end @@ -424,9 +411,10 @@ end -- in the function below, color is just a color string, while -- palette_type can be: -- --- "split" = 89 color palette split into pieces for colorfacedir --- "wallmounted" = 32-color abridged palette -- "extended" = 256 color palette +-- "split" = 200 color palette split into pieces for colorfacedir +-- "wallmounted" = 32-color abridged palette + function unifieddyes.getpaletteidx(color, palette_type) @@ -475,24 +463,6 @@ function unifieddyes.getpaletteidx(color, palette_type) ["black"] = 4, } - local hues = { - ["red"] = 1, - ["orange"] = 2, - ["yellow"] = 3, - ["lime"] = 4, - ["green"] = 5, - ["aqua"] = 6, - ["spring"] = 6, - ["cyan"] = 7, - ["skyblue"] = 8, - ["azure"] = 8, - ["blue"] = 9, - ["violet"] = 10, - ["magenta"] = 11, - ["redviolet"] = 12, - ["rose"] = 12, - } - local hues_extended = { ["red"] = 0, ["vermilion"] = 1, @@ -627,19 +597,8 @@ function unifieddyes.getpaletteidx(color, palette_type) shade = "light" end if palette_type == "split" then -- it's colorfacedir - - -- If using this palette, translate new color names back to old. - - if color == "spring" then - color = "aqua" - elseif color == "azure" then - color = "skyblue" - elseif color == "rose" then - color = "redviolet" - end - - if hues[color] and shades[shade] then - return (shades[shade] * 32), hues[color] + if hues_extended[color] and shades[shade] then + return (shades[shade] * 32), hues_extended[color]+1 end elseif palette_type == "extended" then if hues_extended[color] and shades_extended[shade] then @@ -730,7 +689,7 @@ function unifieddyes.on_airbrush(itemstack, player, pointed_thing) newcolor = string.sub(painting_with, 5) else if hue ~= 0 then - newcolor = unifieddyes.HUES[hue] + newcolor = unifieddyes.HUES_EXTENDED[hue][1] else newcolor = "grey" end @@ -743,10 +702,6 @@ function unifieddyes.on_airbrush(itemstack, player, pointed_thing) end end - if newcolor == "spring" then newcolor = "aqua" - elseif newcolor == "azure" then newcolor = "skyblue" - elseif newcolor == "rose" then newcolor = "redviolet" - end name = modname..":"..string.gsub(nodename2, oldcolor, newcolor) if not minetest.registered_items[name] then @@ -813,7 +768,7 @@ function unifieddyes.color_to_name(param2, def) local h = color - v * 8 return unifieddyes.VALS[v]..unifieddyes.HUES_WALLMOUNTED[h+1] - elseif string.find(def.palette, "unifieddyes_palette") then -- it's the "split" 89-color palette + elseif string.find(def.palette, "unifieddyes_palette") then -- it's the split palette -- palette names in this mode are always "unifieddyes_palette_COLORs.png" local s = string.sub(def.palette, 21) @@ -1206,14 +1161,6 @@ for _, h in ipairs(unifieddyes.HUES_EXTENDED) do end end minetest.register_alias("unifieddyes:"..val..hue, "dye:"..val..hue) - if h[1] == "spring" then - minetest.register_alias("unifieddyes:"..val.."aqua", "dye:"..val.."spring") - elseif h[1] == "azure" then - minetest.register_alias("unifieddyes:"..val.."skyblue", "dye:"..val.."azure") - elseif h[1] == "rose" then - minetest.register_alias("unifieddyes:"..val.."redviolet", "dye:"..val.."rose") - end - if v > 3 then -- also register the low-sat version @@ -1234,13 +1181,6 @@ for _, h in ipairs(unifieddyes.HUES_EXTENDED) do groups = { dye=1, not_in_creative_inventory=1 }, }) minetest.register_alias("unifieddyes:"..val..hue.."_s50", "dye:"..val..hue.."_s50") - if h[1] == "spring" then - minetest.register_alias("unifieddyes:"..val.."aqua_s50", "dye:"..val.."spring_s50") - elseif h[1] == "azure" then - minetest.register_alias("unifieddyes:"..val.."skyblue_s50", "dye:"..val.."azure_s50") - elseif h[1] == "rose" then - minetest.register_alias("unifieddyes:"..val.."redviolet_s50", "dye:"..val.."rose_s50") - end end end end diff --git a/textures/unifieddyes_palette_ambers.png b/textures/unifieddyes_palette_ambers.png new file mode 100644 index 0000000..e4b6cf0 Binary files /dev/null and b/textures/unifieddyes_palette_ambers.png differ diff --git a/textures/unifieddyes_palette_azures.png b/textures/unifieddyes_palette_azures.png new file mode 100644 index 0000000..ce78911 Binary files /dev/null and b/textures/unifieddyes_palette_azures.png differ diff --git a/textures/unifieddyes_palette_blues.png b/textures/unifieddyes_palette_blues.png index b83e22d..f2aec3b 100644 Binary files a/textures/unifieddyes_palette_blues.png and b/textures/unifieddyes_palette_blues.png differ diff --git a/textures/unifieddyes_palette_ceruleans.png b/textures/unifieddyes_palette_ceruleans.png new file mode 100644 index 0000000..0e47149 Binary files /dev/null and b/textures/unifieddyes_palette_ceruleans.png differ diff --git a/textures/unifieddyes_palette_chartreuses.png b/textures/unifieddyes_palette_chartreuses.png new file mode 100644 index 0000000..613935e Binary files /dev/null and b/textures/unifieddyes_palette_chartreuses.png differ diff --git a/textures/unifieddyes_palette_crimsons.png b/textures/unifieddyes_palette_crimsons.png new file mode 100644 index 0000000..4f2dd47 Binary files /dev/null and b/textures/unifieddyes_palette_crimsons.png differ diff --git a/textures/unifieddyes_palette_cyans.png b/textures/unifieddyes_palette_cyans.png index 0b0b094..35c5f8a 100644 Binary files a/textures/unifieddyes_palette_cyans.png and b/textures/unifieddyes_palette_cyans.png differ diff --git a/textures/unifieddyes_palette_fuchsias.png b/textures/unifieddyes_palette_fuchsias.png new file mode 100644 index 0000000..1fbde3e Binary files /dev/null and b/textures/unifieddyes_palette_fuchsias.png differ diff --git a/textures/unifieddyes_palette_greens.png b/textures/unifieddyes_palette_greens.png index b381841..cdf2c23 100644 Binary files a/textures/unifieddyes_palette_greens.png and b/textures/unifieddyes_palette_greens.png differ diff --git a/textures/unifieddyes_palette_harlequins.png b/textures/unifieddyes_palette_harlequins.png new file mode 100644 index 0000000..0a440ab Binary files /dev/null and b/textures/unifieddyes_palette_harlequins.png differ diff --git a/textures/unifieddyes_palette_indigos.png b/textures/unifieddyes_palette_indigos.png new file mode 100644 index 0000000..0c6e1ba Binary files /dev/null and b/textures/unifieddyes_palette_indigos.png differ diff --git a/textures/unifieddyes_palette_limes.png b/textures/unifieddyes_palette_limes.png index b104c6e..351931e 100644 Binary files a/textures/unifieddyes_palette_limes.png and b/textures/unifieddyes_palette_limes.png differ diff --git a/textures/unifieddyes_palette_magentas.png b/textures/unifieddyes_palette_magentas.png index 16abf00..e1cabe7 100644 Binary files a/textures/unifieddyes_palette_magentas.png and b/textures/unifieddyes_palette_magentas.png differ diff --git a/textures/unifieddyes_palette_malachites.png b/textures/unifieddyes_palette_malachites.png new file mode 100644 index 0000000..ecb944f Binary files /dev/null and b/textures/unifieddyes_palette_malachites.png differ diff --git a/textures/unifieddyes_palette_mulberrys.png b/textures/unifieddyes_palette_mulberrys.png new file mode 100644 index 0000000..25e3074 Binary files /dev/null and b/textures/unifieddyes_palette_mulberrys.png differ diff --git a/textures/unifieddyes_palette_oranges.png b/textures/unifieddyes_palette_oranges.png index cae1f4d..f7b74e3 100644 Binary files a/textures/unifieddyes_palette_oranges.png and b/textures/unifieddyes_palette_oranges.png differ diff --git a/textures/unifieddyes_palette_reds.png b/textures/unifieddyes_palette_reds.png index 7f63bb3..1e9182f 100644 Binary files a/textures/unifieddyes_palette_reds.png and b/textures/unifieddyes_palette_reds.png differ diff --git a/textures/unifieddyes_palette_redviolets.png b/textures/unifieddyes_palette_redviolets.png deleted file mode 100644 index 30d6c9a..0000000 Binary files a/textures/unifieddyes_palette_redviolets.png and /dev/null differ diff --git a/textures/unifieddyes_palette_roses.png b/textures/unifieddyes_palette_roses.png new file mode 100644 index 0000000..bc78fc4 Binary files /dev/null and b/textures/unifieddyes_palette_roses.png differ diff --git a/textures/unifieddyes_palette_sapphires.png b/textures/unifieddyes_palette_sapphires.png new file mode 100644 index 0000000..bbab0b3 Binary files /dev/null and b/textures/unifieddyes_palette_sapphires.png differ diff --git a/textures/unifieddyes_palette_skyblues.png b/textures/unifieddyes_palette_skyblues.png deleted file mode 100644 index 59396b1..0000000 Binary files a/textures/unifieddyes_palette_skyblues.png and /dev/null differ diff --git a/textures/unifieddyes_palette_springs.png b/textures/unifieddyes_palette_springs.png new file mode 100644 index 0000000..a4d317c Binary files /dev/null and b/textures/unifieddyes_palette_springs.png differ diff --git a/textures/unifieddyes_palette_turquoises.png b/textures/unifieddyes_palette_turquoises.png new file mode 100644 index 0000000..1b11e24 Binary files /dev/null and b/textures/unifieddyes_palette_turquoises.png differ diff --git a/textures/unifieddyes_palette_vermilions.png b/textures/unifieddyes_palette_vermilions.png new file mode 100644 index 0000000..23653b0 Binary files /dev/null and b/textures/unifieddyes_palette_vermilions.png differ diff --git a/textures/unifieddyes_palette_violets.png b/textures/unifieddyes_palette_violets.png index 6238217..3a08ceb 100644 Binary files a/textures/unifieddyes_palette_violets.png and b/textures/unifieddyes_palette_violets.png differ diff --git a/textures/unifieddyes_palette_yellows.png b/textures/unifieddyes_palette_yellows.png index 0a458a7..044ba99 100644 Binary files a/textures/unifieddyes_palette_yellows.png and b/textures/unifieddyes_palette_yellows.png differ