Add blueberry bushes
[oweals/minetest_game.git] / mods / dye / init.lua
1 dye = {}
2
3 -- Make dye names and descriptions available globally
4
5 dye.dyes = {
6         {"white",      "White"},
7         {"grey",       "Grey"},
8         {"dark_grey",  "Dark grey"},
9         {"black",      "Black"},
10         {"violet",     "Violet"},
11         {"blue",       "Blue"},
12         {"cyan",       "Cyan"},
13         {"dark_green", "Dark green"},
14         {"green",      "Green"},
15         {"yellow",     "Yellow"},
16         {"brown",      "Brown"},
17         {"orange",     "Orange"},
18         {"red",        "Red"},
19         {"magenta",    "Magenta"},
20         {"pink",       "Pink"},
21 }
22
23 -- Define items
24
25 for _, row in ipairs(dye.dyes) do
26         local name = row[1]
27         local description = row[2]
28         local groups = {dye = 1}
29         groups["color_" .. name] = 1
30
31         minetest.register_craftitem("dye:" .. name, {
32                 inventory_image = "dye_" .. name .. ".png",
33                 description = description .. " Dye",
34                 groups = groups
35         })
36
37         minetest.register_craft({
38                 type = "shapeless",
39                 output = "dye:" .. name .. " 4",
40                 recipe = {"group:flower,color_" .. name},
41         })
42 end
43
44 -- Manually add coal -> black dye
45
46 minetest.register_craft({
47         type = "shapeless",
48         output = "dye:black 4",
49         recipe = {"group:coal"},
50 })
51
52 -- Manually add blueberries->violet dye
53
54 minetest.register_craft({
55         type = "shapeless",
56         output = "dye:violet 2",
57         recipe = {"default:blueberries"},
58 })
59
60 -- Mix recipes
61
62 local dye_recipes = {
63         -- src1, src2, dst
64         -- RYB mixes
65         {"red", "blue", "violet"}, -- "purple"
66         {"yellow", "red", "orange"},
67         {"yellow", "blue", "green"},
68         -- RYB complementary mixes
69         {"yellow", "violet", "dark_grey"},
70         {"blue", "orange", "dark_grey"},
71         -- CMY mixes - approximation
72         {"cyan", "yellow", "green"},
73         {"cyan", "magenta", "blue"},
74         {"yellow", "magenta", "red"},
75         -- other mixes that result in a color we have
76         {"red", "green", "brown"},
77         {"magenta", "blue", "violet"},
78         {"green", "blue", "cyan"},
79         {"pink", "violet", "magenta"},
80         -- mixes with black
81         {"white", "black", "grey"},
82         {"grey", "black", "dark_grey"},
83         {"green", "black", "dark_green"},
84         {"orange", "black", "brown"},
85         -- mixes with white
86         {"white", "red", "pink"},
87         {"white", "dark_grey", "grey"},
88         {"white", "dark_green", "green"},
89 }
90
91 for _, mix in pairs(dye_recipes) do
92         minetest.register_craft({
93                 type = "shapeless",
94                 output = 'dye:' .. mix[3] .. ' 2',
95                 recipe = {'dye:' .. mix[1], 'dye:' .. mix[2]},
96         })
97 end