123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- dye = {}
- -- Make dye names and descriptions available globally
- dye.dyes = {
- {"white", "White"},
- {"grey", "Grey"},
- {"dark_grey", "Dark grey"},
- {"black", "Black"},
- {"violet", "Violet"},
- {"blue", "Blue"},
- {"cyan", "Cyan"},
- {"dark_green", "Dark green"},
- {"green", "Green"},
- {"yellow", "Yellow"},
- {"brown", "Brown"},
- {"orange", "Orange"},
- {"red", "Red"},
- {"magenta", "Magenta"},
- {"pink", "Pink"},
- }
- -- Define items
- for _, row in ipairs(dye.dyes) do
- local name = row[1]
- local description = row[2]
- local groups = {dye = 1}
- groups["color_" .. name] = 1
- minetest.register_craftitem("dye:" .. name, {
- inventory_image = "dye_" .. name .. ".png",
- description = description .. " Dye",
- groups = groups
- })
- minetest.register_craft({
- output = "dye:" .. name .. " 4",
- recipe = {
- {"group:flower,color_" .. name}
- },
- })
- end
- -- Manually add coal -> black dye
- minetest.register_craft({
- output = "dye:black 4",
- recipe = {
- {"group:coal"}
- },
- })
- -- Manually add blueberries->violet dye
- minetest.register_craft({
- output = "dye:violet 2",
- recipe = {
- {"default:blueberries"}
- },
- })
- -- Mix recipes
- local dye_recipes = {
- -- src1, src2, dst
- -- RYB mixes
- {"red", "blue", "violet"}, -- "purple"
- {"yellow", "red", "orange"},
- {"yellow", "blue", "green"},
- -- RYB complementary mixes
- {"yellow", "violet", "dark_grey"},
- {"blue", "orange", "dark_grey"},
- -- CMY mixes - approximation
- {"cyan", "yellow", "green"},
- {"cyan", "magenta", "blue"},
- {"yellow", "magenta", "red"},
- -- other mixes that result in a color we have
- {"red", "green", "brown"},
- {"magenta", "blue", "violet"},
- {"green", "blue", "cyan"},
- {"pink", "violet", "magenta"},
- -- mixes with black
- {"white", "black", "grey"},
- {"grey", "black", "dark_grey"},
- {"green", "black", "dark_green"},
- {"orange", "black", "brown"},
- -- mixes with white
- {"white", "red", "pink"},
- {"white", "dark_grey", "grey"},
- {"white", "dark_green", "green"},
- }
- for _, mix in pairs(dye_recipes) do
- minetest.register_craft({
- type = "shapeless",
- output = 'dye:' .. mix[3] .. ' 2',
- recipe = {'dye:' .. mix[1], 'dye:' .. mix[2]},
- })
- end
|