2013-02-07 07:38:34 +01:00
|
|
|
--[[
|
|
|
|
|
|
|
|
Unified Dyes
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
This mod provides an extension to the Minetest 0.4.x dye system
|
2013-02-07 07:38:34 +01:00
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
|
|
|
|
Copyright (C) 2012-2013, Vanessa Ezekowitz
|
|
|
|
Email: vanessaezekowitz@gmail.com
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
--]]
|
2013-02-07 07:38:34 +01:00
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
--=====================================================================
|
2014-03-20 02:11:30 +01:00
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
unifieddyes = {}
|
|
|
|
|
2017-01-28 14:05:44 +01:00
|
|
|
local creative_mode = minetest.setting_getbool("creative_mode")
|
|
|
|
|
2014-03-20 02:11:30 +01:00
|
|
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
|
|
|
local S
|
2014-12-27 07:02:35 +01:00
|
|
|
if minetest.get_modpath("intllib") then
|
|
|
|
S = intllib.Getter()
|
2014-03-20 02:11:30 +01:00
|
|
|
else
|
2014-12-27 07:02:35 +01:00
|
|
|
S = function(s) return s end
|
2014-03-20 02:11:30 +01:00
|
|
|
end
|
|
|
|
|
2017-01-26 12:18:37 +01:00
|
|
|
-- helper functions for other mods that use this one
|
|
|
|
|
|
|
|
local HUES = {
|
|
|
|
"red",
|
|
|
|
"orange",
|
|
|
|
"yellow",
|
|
|
|
"lime",
|
|
|
|
"green",
|
|
|
|
"aqua",
|
|
|
|
"cyan",
|
|
|
|
"skyblue",
|
|
|
|
"blue",
|
|
|
|
"violet",
|
|
|
|
"magenta",
|
|
|
|
"redviolet"
|
2017-01-25 23:49:00 +01:00
|
|
|
}
|
|
|
|
|
2017-02-24 23:40:37 +01:00
|
|
|
-- the names of the various colors here came from http://www.procato.com/rgb+index/
|
|
|
|
|
|
|
|
local HUES_EXTENDED = {
|
|
|
|
{ "red", 0xff, 0x00, 0x00 },
|
|
|
|
{ "vermilion", 0xff, 0x40, 0x00 },
|
|
|
|
{ "orange", 0xff, 0x80, 0x00 },
|
|
|
|
{ "amber", 0xff, 0xbf, 0x00 },
|
|
|
|
{ "yellow", 0xff, 0xff, 0x00 },
|
|
|
|
{ "lime", 0xbf, 0xff, 0x00 },
|
|
|
|
{ "chartreuse", 0x80, 0xff, 0x00 },
|
|
|
|
{ "harlequin", 0x40, 0xff, 0x00 },
|
|
|
|
{ "green", 0x00, 0xff, 0x00 },
|
|
|
|
{ "malachite", 0x00, 0xff, 0x40 },
|
|
|
|
{ "spring", 0x00, 0xff, 0x80 },
|
|
|
|
{ "turquoise", 0x00, 0xff, 0xbf },
|
|
|
|
{ "cyan", 0x00, 0xff, 0xff },
|
|
|
|
{ "cerulean", 0x00, 0xbf, 0xff },
|
|
|
|
{ "azure", 0x00, 0x80, 0xff },
|
|
|
|
{ "sapphire", 0x00, 0x40, 0xff },
|
|
|
|
{ "blue", 0x00, 0x00, 0xff },
|
|
|
|
{ "indigo", 0x40, 0x00, 0xff },
|
|
|
|
{ "violet", 0x80, 0x00, 0xff },
|
|
|
|
{ "mulberry", 0xbf, 0x00, 0xff },
|
|
|
|
{ "magenta", 0xff, 0x00, 0xff },
|
|
|
|
{ "fuchsia", 0xff, 0x00, 0xbf },
|
|
|
|
{ "rose", 0xff, 0x00, 0x80 },
|
|
|
|
{ "crimson", 0xff, 0x00, 0x40 }
|
|
|
|
}
|
|
|
|
|
2017-02-24 20:21:59 +01:00
|
|
|
local SATS = {
|
|
|
|
"",
|
|
|
|
"_s50"
|
|
|
|
}
|
|
|
|
|
|
|
|
local VALS = {
|
|
|
|
"",
|
|
|
|
"medium_",
|
|
|
|
"dark_"
|
|
|
|
}
|
|
|
|
|
2017-02-24 23:40:37 +01:00
|
|
|
local VALS_EXTENDED = {
|
|
|
|
"faint_",
|
|
|
|
"pastel_",
|
|
|
|
"light_",
|
|
|
|
"bright_",
|
|
|
|
"",
|
|
|
|
"medium_",
|
|
|
|
"dark_"
|
|
|
|
}
|
|
|
|
|
2017-02-24 20:21:59 +01:00
|
|
|
local GREYS = {
|
|
|
|
"white",
|
|
|
|
"light_grey",
|
|
|
|
"grey",
|
|
|
|
"dark_grey",
|
|
|
|
"black"
|
|
|
|
}
|
|
|
|
|
2017-02-05 01:40:15 +01:00
|
|
|
local default_dyes = {
|
|
|
|
"black",
|
|
|
|
"blue",
|
|
|
|
"brown",
|
|
|
|
"cyan",
|
|
|
|
"dark_green",
|
|
|
|
"dark_grey",
|
|
|
|
"green",
|
|
|
|
"grey",
|
|
|
|
"magenta",
|
|
|
|
"orange",
|
|
|
|
"pink",
|
|
|
|
"red",
|
|
|
|
"violet",
|
|
|
|
"white",
|
|
|
|
"yellow"
|
|
|
|
}
|
|
|
|
|
2017-02-24 20:21:59 +01:00
|
|
|
-- this tiles the "extended" palette sideways and then crops it to 256x1
|
|
|
|
-- to convert it from human readable to something the engine can use as a palette.
|
|
|
|
--
|
|
|
|
-- in machine-readable form, the selected color is:
|
|
|
|
-- 16 + [hue] - [shade]*24 for the light colors, or
|
|
|
|
-- 16 + [hue] + [saturation]*24 + [shade]*48 for the dark colors, or
|
|
|
|
-- [shade] (no math) for the greys, 0 = white.
|
|
|
|
|
|
|
|
unifieddyes.extended_palette = "[combine:256x1"
|
|
|
|
..":0,0=unifieddyes_palette_extended.png"
|
|
|
|
..":16,-1=unifieddyes_palette_extended.png"
|
|
|
|
..":40,-2=unifieddyes_palette_extended.png"
|
|
|
|
..":64,-3=unifieddyes_palette_extended.png"
|
|
|
|
..":88,-4=unifieddyes_palette_extended.png"
|
|
|
|
..":112,-5=unifieddyes_palette_extended.png"
|
|
|
|
..":136,-6=unifieddyes_palette_extended.png"
|
|
|
|
..":160,-7=unifieddyes_palette_extended.png"
|
|
|
|
..":184,-8=unifieddyes_palette_extended.png"
|
|
|
|
..":208,-9=unifieddyes_palette_extended.png"
|
|
|
|
..":232,-10=unifieddyes_palette_extended.png"
|
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
-- code borrowed from homedecor
|
|
|
|
|
2017-02-18 05:04:47 +01:00
|
|
|
-- call this function to reset the rotation of a "wallmounted" object on place
|
|
|
|
|
|
|
|
function unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
|
|
|
local node = minetest.get_node(pos)
|
|
|
|
local yaw = placer:get_look_yaw()
|
|
|
|
local dir = minetest.yaw_to_dir(yaw-1.5)
|
|
|
|
local pitch = placer:get_look_vertical()
|
|
|
|
|
|
|
|
local fdir = minetest.dir_to_wallmounted(dir)
|
|
|
|
|
2017-02-18 05:13:22 +01:00
|
|
|
if pitch < -(math.pi/8) then
|
2017-02-18 05:04:47 +01:00
|
|
|
fdir = 0
|
2017-02-18 05:13:22 +01:00
|
|
|
elseif pitch > math.pi/8 then
|
2017-02-18 05:04:47 +01:00
|
|
|
fdir = 1
|
|
|
|
end
|
|
|
|
minetest.swap_node(pos, { name = node.name, param2 = fdir })
|
|
|
|
end
|
|
|
|
|
|
|
|
-- use this when you have a "wallmounted" node that should never be oriented
|
2017-02-18 19:00:06 +01:00
|
|
|
-- to floor or ceiling...
|
2017-02-18 05:04:47 +01:00
|
|
|
|
|
|
|
function unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
|
|
|
local node = minetest.get_node(pos)
|
|
|
|
local yaw = placer:get_look_yaw()
|
|
|
|
local dir = minetest.yaw_to_dir(yaw)
|
|
|
|
local fdir = minetest.dir_to_wallmounted(dir)
|
|
|
|
minetest.swap_node(pos, { name = node.name, param2 = fdir })
|
|
|
|
end
|
|
|
|
|
2017-02-18 19:00:06 +01:00
|
|
|
-- ... and use this one to force that kind of node off of floor/ceiling
|
|
|
|
-- orientation after the screwdriver rotates it.
|
|
|
|
|
|
|
|
function unifieddyes.fix_after_screwdriver_nsew(pos, node, user, mode, new_param2)
|
|
|
|
local new_fdir = new_param2 % 8
|
|
|
|
local color = new_param2 - new_fdir
|
|
|
|
print(new_fdir)
|
|
|
|
|
|
|
|
if new_fdir < 2 then
|
|
|
|
new_fdir = 2
|
|
|
|
minetest.swap_node(pos, { name = node.name, param2 = new_fdir + color })
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
function unifieddyes.select_node(pointed_thing)
|
|
|
|
local pos = pointed_thing.under
|
|
|
|
local node = minetest.get_node_or_nil(pos)
|
|
|
|
local def = node and minetest.registered_nodes[node.name]
|
|
|
|
|
|
|
|
if not def or not def.buildable_to then
|
|
|
|
pos = pointed_thing.above
|
|
|
|
node = minetest.get_node_or_nil(pos)
|
|
|
|
def = node and minetest.registered_nodes[node.name]
|
|
|
|
end
|
|
|
|
return def and pos, def
|
|
|
|
end
|
|
|
|
|
|
|
|
function unifieddyes.is_buildable_to(placer_name, ...)
|
|
|
|
for _, pos in ipairs({...}) do
|
|
|
|
local node = minetest.get_node_or_nil(pos)
|
|
|
|
local def = node and minetest.registered_nodes[node.name]
|
|
|
|
if not (def and def.buildable_to) or minetest.is_protected(pos, placer_name) then
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
|
2017-01-26 19:51:38 +01:00
|
|
|
function unifieddyes.get_hsv(name) -- expects a node/item name
|
2017-01-26 19:42:36 +01:00
|
|
|
local hue = ""
|
|
|
|
local a,b
|
|
|
|
for _, i in ipairs(HUES) do
|
|
|
|
a,b = string.find(name, "_"..i)
|
|
|
|
if a and not ( string.find(name, "_redviolet") and i == "red" ) then
|
|
|
|
hue = i
|
|
|
|
break
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-01-26 19:51:38 +01:00
|
|
|
if string.find(name, "_light_grey") then hue = "light_grey"
|
|
|
|
elseif string.find(name, "_lightgrey") then hue = "light_grey"
|
|
|
|
elseif string.find(name, "_dark_grey") then hue = "dark_grey"
|
|
|
|
elseif string.find(name, "_darkgrey") then hue = "dark_grey"
|
|
|
|
elseif string.find(name, "_grey") then hue = "grey"
|
|
|
|
elseif string.find(name, "_white") then hue = "white"
|
|
|
|
elseif string.find(name, "_black") then hue = "black"
|
2017-01-26 19:42:36 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
local sat = ""
|
|
|
|
if string.find(name, "_s50") then sat = "_s50" end
|
|
|
|
|
|
|
|
local val = ""
|
|
|
|
if string.find(name, "dark_") then val = "dark_" end
|
|
|
|
if string.find(name, "medium_") then val = "medium_" end
|
|
|
|
if string.find(name, "light_") then val = "light_" end
|
|
|
|
|
|
|
|
return hue, sat, val
|
|
|
|
end
|
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
-- code borrowed from cheapie's plasticbox mod
|
|
|
|
|
2017-01-29 00:18:27 +01:00
|
|
|
function unifieddyes.getpaletteidx(color, is_color_fdir)
|
2017-01-26 12:18:37 +01:00
|
|
|
local origcolor = color
|
2017-01-25 18:31:40 +01:00
|
|
|
local aliases = {
|
|
|
|
["pink"] = "light_red",
|
|
|
|
["brown"] = "dark_orange",
|
|
|
|
}
|
|
|
|
|
|
|
|
local grayscale = {
|
|
|
|
["white"] = 1,
|
|
|
|
["light_grey"] = 2,
|
|
|
|
["grey"] = 3,
|
|
|
|
["dark_grey"] = 4,
|
|
|
|
["black"] = 5,
|
|
|
|
}
|
|
|
|
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
local grayscale_wallmounted = {
|
|
|
|
["white"] = 0,
|
|
|
|
["light_grey"] = 1,
|
|
|
|
["grey"] = 2,
|
|
|
|
["dark_grey"] = 3,
|
|
|
|
["black"] = 4,
|
|
|
|
}
|
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
local hues = {
|
|
|
|
["red"] = 1,
|
|
|
|
["orange"] = 2,
|
|
|
|
["yellow"] = 3,
|
|
|
|
["lime"] = 4,
|
|
|
|
["green"] = 5,
|
|
|
|
["aqua"] = 6,
|
|
|
|
["cyan"] = 7,
|
|
|
|
["skyblue"] = 8,
|
|
|
|
["blue"] = 9,
|
|
|
|
["violet"] = 10,
|
|
|
|
["magenta"] = 11,
|
|
|
|
["redviolet"] = 12,
|
|
|
|
}
|
|
|
|
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
local hues_wallmounted = {
|
|
|
|
["red"] = 0,
|
|
|
|
["orange"] = 1,
|
|
|
|
["yellow"] = 2,
|
|
|
|
["green"] = 3,
|
|
|
|
["cyan"] = 4,
|
|
|
|
["blue"] = 5,
|
|
|
|
["violet"] = 6,
|
|
|
|
["magenta"] = 7
|
|
|
|
}
|
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
local shades = {
|
|
|
|
[""] = 1,
|
|
|
|
["s50"] = 2,
|
|
|
|
["light"] = 3,
|
|
|
|
["medium"] = 4,
|
|
|
|
["mediums50"] = 5,
|
|
|
|
["dark"] = 6,
|
|
|
|
["darks50"] = 7,
|
|
|
|
}
|
|
|
|
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
local shades_wallmounted = {
|
|
|
|
[""] = 1,
|
|
|
|
["medium"] = 2,
|
|
|
|
["dark"] = 3
|
|
|
|
}
|
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
if string.sub(color,1,4) == "dye:" then
|
|
|
|
color = string.sub(color,5,-1)
|
|
|
|
elseif string.sub(color,1,12) == "unifieddyes:" then
|
|
|
|
color = string.sub(color,13,-1)
|
|
|
|
else
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
if is_color_fdir == "wallmounted" then
|
|
|
|
if grayscale_wallmounted[color] then
|
2017-01-30 11:32:17 +01:00
|
|
|
return (grayscale_wallmounted[color] * 8), 0
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
end
|
|
|
|
elseif is_color_fdir then
|
|
|
|
if grayscale[color] then
|
2017-01-26 12:18:37 +01:00
|
|
|
return (grayscale[color] * 32), 0
|
2017-01-29 06:06:08 +01:00
|
|
|
end
|
|
|
|
else
|
|
|
|
if grayscale[color] then
|
2017-01-26 12:18:37 +01:00
|
|
|
return grayscale[color], 0
|
|
|
|
end
|
2017-01-25 18:31:40 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
local shade = ""
|
|
|
|
if string.sub(color,1,6) == "light_" then
|
|
|
|
shade = "light"
|
|
|
|
color = string.sub(color,7,-1)
|
|
|
|
elseif string.sub(color,1,7) == "medium_" then
|
|
|
|
shade = "medium"
|
|
|
|
color = string.sub(color,8,-1)
|
|
|
|
elseif string.sub(color,1,5) == "dark_" then
|
|
|
|
shade = "dark"
|
|
|
|
color = string.sub(color,6,-1)
|
|
|
|
end
|
|
|
|
if string.sub(color,-4,-1) == "_s50" then
|
|
|
|
shade = shade.."s50"
|
|
|
|
color = string.sub(color,1,-5)
|
|
|
|
end
|
|
|
|
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
if is_color_fdir == "wallmounted" then
|
2017-02-06 15:22:10 +01:00
|
|
|
if color == "brown" then return 48,1
|
|
|
|
elseif color == "pink" then return 56,7
|
2017-02-06 15:30:04 +01:00
|
|
|
elseif color == "blue" and shade == "light" then return 40,5
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
elseif hues_wallmounted[color] and shades_wallmounted[shade] then
|
|
|
|
return (shades_wallmounted[shade] * 64 + hues_wallmounted[color] * 8), hues_wallmounted[color]
|
|
|
|
end
|
2017-02-06 15:22:10 +01:00
|
|
|
else
|
|
|
|
if color == "brown" then
|
|
|
|
color = "orange"
|
|
|
|
shade = "dark"
|
|
|
|
elseif color == "pink" then
|
|
|
|
color = "red"
|
|
|
|
shade = "light"
|
|
|
|
end
|
|
|
|
if hues[color] and shades[shade] then
|
|
|
|
if is_color_fdir then
|
|
|
|
return (shades[shade] * 32), hues[color]
|
|
|
|
else
|
|
|
|
return (hues[color] * 8 + shades[shade]), hues[color]
|
|
|
|
end
|
2017-01-26 12:18:37 +01:00
|
|
|
end
|
2017-01-25 18:31:40 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-01-28 14:05:44 +01:00
|
|
|
function unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
|
|
|
|
local prevdye
|
2017-01-29 00:18:27 +01:00
|
|
|
|
2017-01-28 14:05:44 +01:00
|
|
|
if oldmetadata and oldmetadata.fields then
|
|
|
|
prevdye = oldmetadata.fields.dye
|
|
|
|
end
|
2017-01-28 15:02:14 +01:00
|
|
|
|
|
|
|
local inv = digger:get_inventory()
|
|
|
|
|
|
|
|
if prevdye and not (inv:contains_item("main", prevdye) and creative_mode) and minetest.registered_items[prevdye] then
|
2017-01-28 14:05:44 +01:00
|
|
|
if inv:room_for_item("main", prevdye) then
|
|
|
|
inv:add_item("main", prevdye)
|
|
|
|
else
|
|
|
|
minetest.add_item(pos, prevdye)
|
|
|
|
end
|
2017-01-25 18:31:40 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-02-05 01:40:15 +01:00
|
|
|
function unifieddyes.on_use(itemstack, player, pointed_thing)
|
|
|
|
|
2017-02-21 13:46:38 +01:00
|
|
|
if pointed_thing and pointed_thing.type == "object" then
|
|
|
|
pointed_thing.ref:punch(player, 0, itemstack:get_tool_capabilities())
|
|
|
|
return player:get_wielded_item() -- punch may modified the wielded item, load the new and return it
|
|
|
|
end
|
|
|
|
|
|
|
|
if not (pointed_thing and pointed_thing.type == "node") then return end -- if "using" the dye not on a node
|
2017-02-05 01:40:15 +01:00
|
|
|
|
|
|
|
local pos = minetest.get_pointed_thing_position(pointed_thing)
|
|
|
|
local node = minetest.get_node(pos)
|
|
|
|
local nodedef = minetest.registered_nodes[node.name]
|
2017-02-06 02:21:04 +01:00
|
|
|
local playername = player:get_player_name()
|
2017-02-05 01:40:15 +01:00
|
|
|
|
2017-02-06 15:22:10 +01:00
|
|
|
-- if the node has an on_punch defined, bail out and call that instead, unless "sneak" is pressed.
|
|
|
|
if not player:get_player_control().sneak then
|
|
|
|
local onpunch = nodedef.on_punch(pos, node, player, pointed_thing)
|
|
|
|
if onpunch then
|
|
|
|
return onpunch
|
|
|
|
end
|
2017-02-05 01:40:15 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
-- if the target is unknown, has no groups defined, or isn't UD-colorable, just bail out
|
2017-02-06 02:21:04 +01:00
|
|
|
if not (nodedef and nodedef.groups and nodedef.groups.ud_param2_colorable) then
|
|
|
|
minetest.chat_send_player(playername, "That node can't be colored.")
|
|
|
|
return
|
|
|
|
end
|
2017-02-05 01:40:15 +01:00
|
|
|
|
|
|
|
local newnode = nodedef.ud_replacement_node
|
|
|
|
local is_color_fdir
|
|
|
|
|
|
|
|
if nodedef.paramtype2 == "color" then
|
|
|
|
is_color_fdir = false
|
|
|
|
elseif nodedef.paramtype2 == "colorfacedir"
|
|
|
|
then is_color_fdir = true
|
|
|
|
elseif nodedef.paramtype2 == "colorwallmounted"
|
|
|
|
then is_color_fdir = "wallmounted"
|
2017-01-25 18:31:40 +01:00
|
|
|
end
|
|
|
|
|
2017-02-05 01:40:15 +01:00
|
|
|
if minetest.is_protected(pos, playername) and not minetest.check_player_privs(playername, {protection_bypass=true}) then
|
|
|
|
minetest.record_protection_violation(pos, playername)
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
local stackname = itemstack:get_name()
|
|
|
|
local pos2 = unifieddyes.select_node(pointed_thing)
|
|
|
|
local paletteidx, hue = unifieddyes.getpaletteidx(stackname, is_color_fdir)
|
2017-01-30 11:50:02 +01:00
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
if paletteidx then
|
|
|
|
|
|
|
|
local meta = minetest.get_meta(pos)
|
|
|
|
local prevdye = meta:get_string("dye")
|
2017-01-28 15:36:42 +01:00
|
|
|
local inv = player:get_inventory()
|
|
|
|
|
|
|
|
if not (inv:contains_item("main", prevdye) and creative_mode) and minetest.registered_items[prevdye] then
|
2017-01-28 14:05:44 +01:00
|
|
|
if inv:room_for_item("main", prevdye) then
|
|
|
|
inv:add_item("main", prevdye)
|
2017-01-25 18:31:40 +01:00
|
|
|
else
|
2017-01-28 14:05:44 +01:00
|
|
|
minetest.add_item(pos, prevdye)
|
2017-01-25 18:31:40 +01:00
|
|
|
end
|
|
|
|
end
|
2017-01-28 14:05:44 +01:00
|
|
|
|
2017-02-05 01:40:15 +01:00
|
|
|
meta:set_string("dye", stackname)
|
|
|
|
|
|
|
|
if prevdye == stackname then
|
|
|
|
local a,b = string.find(stackname, ":")
|
|
|
|
minetest.chat_send_player(playername, "That node is already "..string.sub(stackname, a + 1).."." )
|
|
|
|
return
|
|
|
|
elseif not creative_mode then
|
|
|
|
itemstack:take_item()
|
2017-01-28 14:05:44 +01:00
|
|
|
end
|
2017-02-05 01:40:15 +01:00
|
|
|
|
2017-01-25 18:31:40 +01:00
|
|
|
node.param2 = paletteidx
|
2017-01-26 12:18:37 +01:00
|
|
|
|
2017-01-29 00:18:27 +01:00
|
|
|
local oldpaletteidx, oldhuenum = unifieddyes.getpaletteidx(prevdye, is_color_fdir)
|
2017-01-26 17:06:06 +01:00
|
|
|
local oldnode = minetest.get_node(pos)
|
|
|
|
|
|
|
|
local oldhue = nil
|
|
|
|
for _, i in ipairs(HUES) do
|
|
|
|
if string.find(oldnode.name, "_"..i) and not
|
|
|
|
( string.find(oldnode.name, "_redviolet") and i == "red" ) then
|
|
|
|
oldhue = i
|
|
|
|
break
|
|
|
|
end
|
|
|
|
end
|
2017-01-26 12:18:37 +01:00
|
|
|
|
2017-01-26 17:23:18 +01:00
|
|
|
if newnode then -- this path is used when the calling mod want to supply a replacement node
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
if is_color_fdir == "wallmounted" then
|
|
|
|
node.param2 = paletteidx + (minetest.get_node(pos).param2 % 8)
|
|
|
|
elseif is_color_fdir then -- we probably need to change the hue of the node too
|
2017-01-26 12:18:37 +01:00
|
|
|
if oldhue ~=0 then -- it's colored, not grey
|
2017-01-26 13:10:48 +01:00
|
|
|
if oldhue ~= nil then -- it's been painted before
|
|
|
|
if hue ~= 0 then -- the player's wielding a colored dye
|
2017-01-26 17:06:06 +01:00
|
|
|
newnode = string.gsub(newnode, "_"..oldhue, "_"..HUES[hue])
|
2017-01-26 13:10:48 +01:00
|
|
|
else -- it's a greyscale dye
|
2017-01-26 17:06:06 +01:00
|
|
|
newnode = string.gsub(newnode, "_"..oldhue, "_grey")
|
2017-01-26 13:10:48 +01:00
|
|
|
end
|
|
|
|
else -- it's never had a color at all
|
|
|
|
if hue ~= 0 then -- and if the wield is greyscale, don't change the node name
|
2017-01-26 17:06:06 +01:00
|
|
|
newnode = string.gsub(newnode, "_grey", "_"..HUES[hue])
|
2017-01-26 13:10:48 +01:00
|
|
|
end
|
|
|
|
end
|
2017-01-26 12:18:37 +01:00
|
|
|
else
|
2017-01-26 13:10:48 +01:00
|
|
|
if hue ~= 0 then -- greyscale dye on greyscale node = no hue change
|
2017-01-26 17:06:06 +01:00
|
|
|
newnode = string.gsub(newnode, "_grey", "_"..HUES[hue])
|
2017-01-26 13:10:48 +01:00
|
|
|
end
|
2017-01-26 12:18:37 +01:00
|
|
|
end
|
2017-01-29 00:19:07 +01:00
|
|
|
node.param2 = paletteidx + (minetest.get_node(pos).param2 % 32)
|
|
|
|
else
|
|
|
|
node.param2 = paletteidx
|
2017-01-26 12:18:37 +01:00
|
|
|
end
|
2017-01-26 17:06:06 +01:00
|
|
|
node.name = newnode
|
2017-01-25 18:31:40 +01:00
|
|
|
minetest.swap_node(pos, node)
|
2017-02-05 01:40:15 +01:00
|
|
|
if not creative_mode then
|
|
|
|
return itemstack
|
|
|
|
end
|
2017-01-26 17:23:18 +01:00
|
|
|
else -- this path is used when you're just painting an existing node, rather than replacing one.
|
2017-01-26 17:06:06 +01:00
|
|
|
newnode = oldnode -- note that here, newnode/oldnode are a full node, not just the name.
|
add API option for "colorwallmounted" paramtype2
(pass "wallmounted" to the "is_color_fdir" field where needed)
Comes with an abridged, 32-color version of the master palette,
containing Red, Orange, Yellow, Green, Cyan, Blue, Violet, and Magenta,
in three shades each, plus the usual black/three greys/white, plus pink
and brown in two of the extrs spaces.
2017-01-29 03:51:46 +01:00
|
|
|
if is_color_fdir == "wallmounted" then
|
|
|
|
newnode.param2 = paletteidx + (minetest.get_node(pos).param2 % 8)
|
|
|
|
elseif is_color_fdir then
|
2017-01-26 17:06:06 +01:00
|
|
|
if oldhue then
|
2017-01-26 17:23:18 +01:00
|
|
|
if hue ~= 0 then
|
|
|
|
newnode.name = string.gsub(newnode.name, "_"..oldhue, "_"..HUES[hue])
|
|
|
|
else
|
|
|
|
newnode.name = string.gsub(newnode.name, "_"..oldhue, "_grey")
|
|
|
|
end
|
|
|
|
elseif string.find(minetest.get_node(pos).name, "_grey") and hue ~= 0 then
|
|
|
|
newnode.name = string.gsub(newnode.name, "_grey", "_"..HUES[hue])
|
2017-01-26 17:06:06 +01:00
|
|
|
end
|
2017-01-29 00:19:07 +01:00
|
|
|
newnode.param2 = paletteidx + (minetest.get_node(pos).param2 % 32)
|
|
|
|
else
|
|
|
|
newnode.param2 = paletteidx
|
2017-01-26 12:18:37 +01:00
|
|
|
end
|
2017-01-28 15:36:42 +01:00
|
|
|
minetest.swap_node(pos, newnode)
|
2017-01-28 14:05:44 +01:00
|
|
|
if not creative_mode then
|
2017-02-05 01:40:15 +01:00
|
|
|
return itemstack
|
2017-01-28 14:05:44 +01:00
|
|
|
end
|
2017-02-05 01:40:15 +01:00
|
|
|
end
|
|
|
|
else
|
|
|
|
local a,b = string.find(stackname, ":")
|
|
|
|
if a then
|
|
|
|
minetest.chat_send_player(playername, "That node can't be colored "..string.sub(stackname, a + 1).."." )
|
2017-01-25 18:31:40 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-02-05 01:40:15 +01:00
|
|
|
-- re-define default dyes slightly, to add on_use
|
|
|
|
|
|
|
|
for _, color in ipairs(default_dyes) do
|
|
|
|
minetest.override_item("dye:"..color, {
|
|
|
|
on_use = unifieddyes.on_use
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
2017-02-24 20:21:59 +01:00
|
|
|
-- build a table to convert from classic/89-color palette to extended palette
|
|
|
|
|
|
|
|
unifieddyes.convert_classic_palette = {}
|
|
|
|
|
|
|
|
for hue = 0, 11 do
|
|
|
|
-- light
|
|
|
|
local paletteidx = unifieddyes.getpaletteidx("dye:light_"..HUES[hue+1], false)
|
|
|
|
unifieddyes.convert_classic_palette[paletteidx] = 16 + hue*2 + 48
|
|
|
|
for sat = 0, 1 do
|
|
|
|
for val = 0, 2 do
|
|
|
|
-- full
|
|
|
|
local paletteidx = unifieddyes.getpaletteidx("dye:"..VALS[val+1]..HUES[hue+1]..SATS[sat+1], false)
|
|
|
|
unifieddyes.convert_classic_palette[paletteidx] = 16 + hue*2 + sat*24 + (val+4)*48
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
for grey = 0, 4 do
|
|
|
|
local paletteidx = unifieddyes.getpaletteidx("dye:"..GREYS[grey+1], false)
|
|
|
|
unifieddyes.convert_classic_palette[paletteidx] = grey
|
|
|
|
end
|
|
|
|
|
2017-02-24 23:40:37 +01:00
|
|
|
-- Generate all dyes that are not part of the default minetest_game dyes mod
|
2012-07-12 23:49:46 +02:00
|
|
|
|
2017-02-24 23:40:37 +01:00
|
|
|
for _, h in ipairs(HUES_EXTENDED) do
|
|
|
|
local hue = h[1]
|
|
|
|
local r = h[2]
|
|
|
|
local g = h[3]
|
|
|
|
local b = h[4]
|
2012-07-12 23:49:46 +02:00
|
|
|
|
2017-02-24 23:40:37 +01:00
|
|
|
for v = 0, 6 do
|
|
|
|
local val = VALS_EXTENDED[v+1]
|
|
|
|
|
|
|
|
local factor = 40
|
|
|
|
if v > 4 then factor = 75 end
|
|
|
|
|
|
|
|
local r2 = math.max(math.min(r + (4-v)*factor, 255), 0)
|
|
|
|
local g2 = math.max(math.min(g + (4-v)*factor, 255), 0)
|
|
|
|
local b2 = math.max(math.min(b + (4-v)*factor, 255), 0)
|
|
|
|
|
|
|
|
-- full-sat color
|
|
|
|
|
|
|
|
local desc = hue:gsub("%a", string.upper, 1).." Dye"
|
|
|
|
|
|
|
|
if val ~= "" then
|
|
|
|
desc = val:sub(1, -2):gsub("%a", string.upper, 1) .." "..desc
|
|
|
|
end
|
|
|
|
|
|
|
|
if not minetest.registered_items["dye:"..val..hue] then
|
|
|
|
|
|
|
|
local color = string.format("%02x", r2)..string.format("%02x", g2)..string.format("%02x", b2)
|
|
|
|
|
|
|
|
minetest.register_craftitem(":dye:"..val..hue, {
|
|
|
|
description = S(desc),
|
|
|
|
inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200",
|
|
|
|
-- groups = { dye=1, not_in_creative_inventory=1 },
|
|
|
|
on_use = unifieddyes.on_use
|
|
|
|
})
|
|
|
|
minetest.register_alias("unifieddyes:"..val..hue, "dye:"..val..hue)
|
|
|
|
end
|
|
|
|
|
|
|
|
if v > 4 then -- also register the low-sat version
|
|
|
|
|
|
|
|
local pr = 0.299
|
|
|
|
local pg = 0.587
|
|
|
|
local pb = 0.114
|
|
|
|
|
|
|
|
local p = math.sqrt(r2*r2*pr + g2*g2*pg + b2*b2*pb)
|
|
|
|
local r3 = math.floor(p+(r2-p)*0.5)
|
|
|
|
local g3 = math.floor(p+(g2-p)*0.5)
|
|
|
|
local b3 = math.floor(p+(b2-p)*0.5)
|
|
|
|
|
|
|
|
local color = string.format("%02x", r3)..string.format("%02x", g3)..string.format("%02x", b3)
|
|
|
|
|
|
|
|
minetest.register_craftitem(":dye:"..val..hue.."_s50", {
|
|
|
|
description = S(desc.." (low saturation)"),
|
|
|
|
inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200",
|
|
|
|
-- groups = { dye=1, not_in_creative_inventory=1 },
|
|
|
|
on_use = unifieddyes.on_use
|
|
|
|
})
|
|
|
|
minetest.register_alias("unifieddyes:"..val..hue.."_s50", "dye:"..val..hue.."_s50")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
-- register the greyscales too :P
|
|
|
|
|
|
|
|
for y = 1, 14 do -- colors 0 and 15 are black and white, default dyes
|
|
|
|
|
|
|
|
if y ~= 4 and y ~= 7 then -- dark grey and regular grey, default dyes
|
|
|
|
|
|
|
|
local rgb = string.format("%02x", y*17)..string.format("%02x", y*17)..string.format("%02x", y*17)
|
|
|
|
local name = "grey_"..y
|
|
|
|
local desc = "Grey Dye #"..y
|
|
|
|
|
|
|
|
minetest.register_craftitem(":dye:"..name, {
|
|
|
|
description = S(desc),
|
|
|
|
inventory_image = "unifieddyes_dye.png^[colorize:#"..rgb..":200",
|
|
|
|
-- groups = { dye=1, not_in_creative_inventory=1 },
|
|
|
|
on_use = unifieddyes.on_use
|
|
|
|
})
|
|
|
|
minetest.register_alias("unifieddyes:"..name, "dye:"..name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Lime
|
2012-07-12 23:49:46 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
output = "dye:lime 2",
|
2012-07-12 23:49:46 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:yellow",
|
|
|
|
"dye:green",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Aqua
|
2012-07-12 23:49:46 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
2017-02-24 23:40:37 +01:00
|
|
|
output = "dye:spring 2",
|
2012-07-12 23:49:46 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:cyan",
|
|
|
|
"dye:green",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Sky blue
|
2012-07-24 23:56:03 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
2017-02-24 23:40:37 +01:00
|
|
|
output = "dye:azure 2",
|
2012-07-24 23:56:03 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:cyan",
|
|
|
|
"dye:blue",
|
2012-07-24 23:56:03 +02:00
|
|
|
},
|
2012-07-12 23:49:46 +02:00
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Red-violet
|
2012-07-24 23:56:03 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
2017-02-24 23:40:37 +01:00
|
|
|
output = "dye:rose 2",
|
2012-07-24 23:56:03 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:red",
|
|
|
|
"dye:magenta",
|
2012-07-24 23:56:03 +02:00
|
|
|
},
|
2012-07-12 23:49:46 +02:00
|
|
|
})
|
|
|
|
|
2012-07-24 23:56:03 +02:00
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Light grey
|
2012-07-24 23:56:03 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
output = "dye:light_grey 2",
|
2012-07-24 23:56:03 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:grey",
|
|
|
|
"dye:white",
|
2012-07-24 23:56:03 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Extra craft for black dye
|
2012-07-26 02:55:45 +02:00
|
|
|
|
2012-07-24 23:56:03 +02:00
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
output = "dye:black 4",
|
2012-07-24 23:56:03 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"default:coal_lump",
|
2012-07-24 23:56:03 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Extra craft for dark grey dye
|
2012-08-02 01:14:49 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
output = "dye:dark_grey 3",
|
2012-08-02 01:14:49 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:black",
|
|
|
|
"dye:black",
|
|
|
|
"dye:white",
|
2012-08-02 01:14:49 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Extra craft for light grey dye
|
2012-07-26 02:55:45 +02:00
|
|
|
|
2012-07-24 23:56:03 +02:00
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
output = "dye:light_grey 3",
|
2012-07-24 23:56:03 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:black",
|
|
|
|
"dye:white",
|
|
|
|
"dye:white",
|
2012-07-24 23:56:03 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
-- Extra craft for green dye
|
|
|
|
|
2012-07-24 23:56:03 +02:00
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
output = "dye:green 4",
|
2012-07-24 23:56:03 +02:00
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"default:cactus",
|
2012-07-24 23:56:03 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
2012-07-12 23:49:46 +02:00
|
|
|
-- =================================================================
|
2017-02-24 23:40:37 +01:00
|
|
|
-- generate recipes
|
2012-07-26 02:55:45 +02:00
|
|
|
|
2012-07-12 23:49:46 +02:00
|
|
|
for i = 1, 12 do
|
|
|
|
|
2013-12-15 19:03:38 +01:00
|
|
|
local hue = HUES[i]
|
2017-02-24 20:28:38 +01:00
|
|
|
local hue2 = HUES[i]:gsub("%a", string.upper, 1)
|
|
|
|
|
|
|
|
if hue == "skyblue" then
|
|
|
|
hue2 = "Sky Blue"
|
|
|
|
elseif hue == "redviolet" then
|
|
|
|
hue2 = "Red-violet"
|
|
|
|
end
|
2012-07-12 23:49:46 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:dark_" .. hue .. "_s50 2",
|
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:dark_grey",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:dark_" .. hue .. "_s50 4",
|
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:black",
|
|
|
|
"dye:black",
|
|
|
|
"dye:white"
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
if hue == "green" then
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "dye:dark_green 3",
|
|
|
|
recipe = {
|
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:black",
|
|
|
|
"dye:black",
|
|
|
|
},
|
|
|
|
})
|
|
|
|
else
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:dark_" .. hue .. " 3",
|
|
|
|
recipe = {
|
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:black",
|
|
|
|
"dye:black",
|
|
|
|
},
|
|
|
|
})
|
|
|
|
end
|
2012-07-12 23:49:46 +02:00
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:medium_" .. hue .. "_s50 2",
|
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:grey",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:medium_" .. hue .. "_s50 3",
|
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:black",
|
|
|
|
"dye:white",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:medium_" .. hue .. " 2",
|
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:black",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:" .. hue .. "_s50 2",
|
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:grey",
|
|
|
|
"dye:white",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:" .. hue .. "_s50 4",
|
|
|
|
recipe = {
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:white",
|
|
|
|
"dye:white",
|
|
|
|
"dye:black",
|
2012-07-12 23:49:46 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
if hue ~= "red" then
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "unifieddyes:light_" .. hue .. " 2",
|
|
|
|
recipe = {
|
|
|
|
"dye:" .. hue,
|
|
|
|
"dye:white",
|
|
|
|
},
|
|
|
|
})
|
|
|
|
end
|
2012-07-12 23:49:46 +02:00
|
|
|
end
|
|
|
|
|
2017-01-25 19:19:20 +01:00
|
|
|
minetest.register_alias("unifieddyes:light_red", "dye:pink")
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
minetest.register_alias("unifieddyes:dark_green", "dye:dark_green")
|
2017-01-25 19:19:20 +01:00
|
|
|
minetest.register_alias("unifieddyes:black", "dye:black")
|
|
|
|
minetest.register_alias("unifieddyes:darkgrey", "dye:dark_grey")
|
2017-02-24 23:40:37 +01:00
|
|
|
minetest.register_alias("unifieddyes:dark_grey", "dye:dark_grey")
|
2017-01-25 19:19:20 +01:00
|
|
|
minetest.register_alias("unifieddyes:grey", "dye:grey")
|
|
|
|
minetest.register_alias("unifieddyes:lightgrey", "dye:light_grey")
|
2017-02-24 23:40:37 +01:00
|
|
|
minetest.register_alias("unifieddyes:light_grey", "dye:light_grey")
|
2017-01-25 19:19:20 +01:00
|
|
|
minetest.register_alias("unifieddyes:white", "dye:white")
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
|
2017-02-24 23:40:37 +01:00
|
|
|
minetest.register_alias("unifieddyes:grey_0", "dye:black")
|
|
|
|
minetest.register_alias("unifieddyes:grey_4", "dye:dark_grey")
|
|
|
|
minetest.register_alias("unifieddyes:grey_7", "dye:grey")
|
|
|
|
minetest.register_alias("unifieddyes:grey_15", "dye:white")
|
|
|
|
|
Refactored the code to use default "common" dyes
rather than directly from flowers.
This mod now depends on "default" and "dye" from the Minetest common
sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.
The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
Also, got rid of the whole paint scheme, in favor of dry powders.
All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2013-04-30 12:02:22 +02:00
|
|
|
minetest.register_alias("unifieddyes:white_paint", "dye:white")
|
|
|
|
minetest.register_alias("unifieddyes:titanium_dioxide", "dye:white")
|
|
|
|
minetest.register_alias("unifieddyes:lightgrey_paint", "dye:light_grey")
|
|
|
|
minetest.register_alias("unifieddyes:grey_paint", "dye:grey")
|
|
|
|
minetest.register_alias("unifieddyes:darkgrey_paint", "dye:dark_grey")
|
|
|
|
minetest.register_alias("unifieddyes:carbon_black", "dye:black")
|
|
|
|
|
2017-02-24 23:40:37 +01:00
|
|
|
-- aqua -> spring, skyblue -> azure, and redviolet -> rose aliases
|
|
|
|
-- note that technically, lime should be aliased, but can't be (there IS
|
|
|
|
-- lime in the new color table, it's just shifted up a bit)
|
|
|
|
|
|
|
|
minetest.register_alias("unifieddyes:aqua", "unifieddyes:spring")
|
|
|
|
minetest.register_alias("unifieddyes:skyblue", "unifieddyes:azure")
|
|
|
|
minetest.register_alias("unifieddyes:redviolet", "unifieddyes:rose")
|
|
|
|
|
2014-03-20 02:11:30 +01:00
|
|
|
print(S("[UnifiedDyes] Loaded!"))
|
2012-07-12 23:49:46 +02:00
|
|
|
|