5 -- Load support for MT game translation.
6 local S = minetest.get_translator("dye")
8 -- Make dye names and descriptions available globally
11 {"white", S("White")},
13 {"dark_grey", S("Dark Grey")},
14 {"black", S("Black")},
15 {"violet", S("Violet")},
18 {"dark_green", S("Dark Green")},
19 {"green", S("Green")},
20 {"yellow", S("Yellow")},
21 {"brown", S("Brown")},
22 {"orange", S("Orange")},
24 {"magenta", S("Magenta")},
30 for _, row in ipairs(dye.dyes) do
32 local description = row[2]
33 local groups = {dye = 1}
34 groups["color_" .. name] = 1
36 minetest.register_craftitem("dye:" .. name, {
37 inventory_image = "dye_" .. name .. ".png",
38 description = S("@1 Dye", description),
42 minetest.register_craft({
43 output = "dye:" .. name .. " 4",
45 {"group:flower,color_" .. name}
50 -- Manually add coal -> black dye
52 minetest.register_craft({
53 output = "dye:black 4",
59 -- Manually add blueberries->violet dye
61 minetest.register_craft({
62 output = "dye:violet 2",
64 {"default:blueberries"}
73 {"red", "blue", "violet"}, -- "purple"
74 {"yellow", "red", "orange"},
75 {"yellow", "blue", "green"},
76 -- RYB complementary mixes
77 {"yellow", "violet", "dark_grey"},
78 {"blue", "orange", "dark_grey"},
79 -- CMY mixes - approximation
80 {"cyan", "yellow", "green"},
81 {"cyan", "magenta", "blue"},
82 {"yellow", "magenta", "red"},
83 -- other mixes that result in a color we have
84 {"red", "green", "brown"},
85 {"magenta", "blue", "violet"},
86 {"green", "blue", "cyan"},
87 {"pink", "violet", "magenta"},
89 {"white", "black", "grey"},
90 {"grey", "black", "dark_grey"},
91 {"green", "black", "dark_green"},
92 {"orange", "black", "brown"},
94 {"white", "red", "pink"},
95 {"white", "dark_grey", "grey"},
96 {"white", "dark_green", "green"},
99 for _, mix in pairs(dye_recipes) do
100 minetest.register_craft({
102 output = "dye:" .. mix[3] .. " 2",
103 recipe = {"dye:" .. mix[1], "dye:" .. mix[2]},