Update translation templates
[oweals/minetest_game.git] / mods / dye / init.lua
1 -- dye/init.lua
2
3 dye = {}
4
5 -- Load support for MT game translation.
6 local S = minetest.get_translator("dye")
7
8 -- Make dye names and descriptions available globally
9
10 dye.dyes = {
11         {"white",      "White"},
12         {"grey",       "Grey"},
13         {"dark_grey",  "Dark Grey"},
14         {"black",      "Black"},
15         {"violet",     "Violet"},
16         {"blue",       "Blue"},
17         {"cyan",       "Cyan"},
18         {"dark_green", "Dark Green"},
19         {"green",      "Green"},
20         {"yellow",     "Yellow"},
21         {"brown",      "Brown"},
22         {"orange",     "Orange"},
23         {"red",        "Red"},
24         {"magenta",    "Magenta"},
25         {"pink",       "Pink"},
26 }
27
28 -- Define items
29
30 for _, row in ipairs(dye.dyes) do
31         local name = row[1]
32         local description = row[2]
33         local groups = {dye = 1}
34         groups["color_" .. name] = 1
35
36         minetest.register_craftitem("dye:" .. name, {
37                 inventory_image = "dye_" .. name .. ".png",
38                 description = S(description .. " Dye"),
39                 groups = groups
40         })
41
42         minetest.register_craft({
43                 output = "dye:" .. name .. " 4",
44                 recipe = {
45                         {"group:flower,color_" .. name}
46                 },
47         })
48 end
49
50 -- Manually add coal -> black dye
51
52 minetest.register_craft({
53         output = "dye:black 4",
54         recipe = {
55                 {"group:coal"}
56         },
57 })
58
59 -- Manually add blueberries->violet dye
60
61 minetest.register_craft({
62         output = "dye:violet 2",
63         recipe = {
64                 {"default:blueberries"}
65         },
66 })
67
68 -- Mix recipes
69
70 local dye_recipes = {
71         -- src1, src2, dst
72         -- RYB mixes
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"},
88         -- mixes with black
89         {"white", "black", "grey"},
90         {"grey", "black", "dark_grey"},
91         {"green", "black", "dark_green"},
92         {"orange", "black", "brown"},
93         -- mixes with white
94         {"white", "red", "pink"},
95         {"white", "dark_grey", "grey"},
96         {"white", "dark_green", "green"},
97 }
98
99 for _, mix in pairs(dye_recipes) do
100         minetest.register_craft({
101                 type = "shapeless",
102                 output = "dye:" .. mix[3] .. " 2",
103                 recipe = {"dye:" .. mix[1], "dye:" .. mix[2]},
104         })
105 end
106
107 -- Dummy calls to S() to allow translation scripts to detect the strings.
108 -- To update this run:
109 -- for _,e in ipairs(dye.dyes) do print(("S(%q)"):format(e[2].." Dye")) end
110
111 --[[
112 S("White Dye")
113 S("Grey Dye")
114 S("Dark Grey Dye")
115 S("Black Dye")
116 S("Violet Dye")
117 S("Blue Dye")
118 S("Cyan Dye")
119 S("Dark Green Dye")
120 S("Green Dye")
121 S("Yellow Dye")
122 S("Brown Dye")
123 S("Orange Dye")
124 S("Red Dye")
125 S("Magenta Dye")
126 S("Pink Dye")
127 --]]