diff options
Diffstat (limited to 'init.lua~')
-rw-r--r-- | init.lua~ | 551 |
1 files changed, 551 insertions, 0 deletions
diff --git a/init.lua~ b/init.lua~ new file mode 100644 index 0000000..2f24b93 --- /dev/null +++ b/init.lua~ @@ -0,0 +1,551 @@ +-- Unified Dyes Mod by Vanessa Ezekowitz ~~ 2012-07-24 +-- +-- License: GPL +-- +-- This mod depends on ironzorg's flowers mod +-- + +--=========================================================================== +-- First you need something to put the dyes into - glass bottles +-- +-- Smelt some sand into glass as usual, then craft 5 of those into an upside- +-- down "U" to get 15 empty bottles. + +minetest.register_craftitem("unifieddyes:empty_bottle", { + description = "Empty Glass Bottle", + inventory_image = "unifieddyes_empty_bottle.png", +}) + +minetest.register_craft( { + output = "unifieddyes:empty_bottle 15", + recipe = { + { "default:glass", "", "default:glass" }, + { "default:glass", "", "default:glass" }, + { "", "default:glass", "" } + } +}) + +-- Make sure we can recycle the bottles. 3 bottles -> 1 glass block. + +minetest.register_craft( { + type = "shapeless", + output = "default:glass", + recipe = { + "unifieddyes:empty_bottle", + "unifieddyes:empty_bottle", + "unifieddyes:empty_bottle", + }, +}) + + +--============================================================================ +-- Now let's use some of those bottles along with some other stuff to make +-- dye base. Craft six empty bottles along with a bucket of water and a piece +-- of jungle grass to get 6 portions of dye base. + +minetest.register_craftitem("unifieddyes:dye_base", { + description = "Uncolored Dye Base Liquid", + inventory_image = "unifieddyes_dye_base.png", +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:dye_base 6", + recipe = { + "unifieddyes:empty_bottle", + "unifieddyes:empty_bottle", + "unifieddyes:empty_bottle", + "unifieddyes:empty_bottle", + "unifieddyes:empty_bottle", + "unifieddyes:empty_bottle", + "bucket:bucket_water", + "default:junglegrass", + }, + replacements = { {'bucket:bucket_water', 'bucket:bucket_empty'}, }, +}) + +--========================================================================== +-- Now we need to turn our color sources (flowers, etc) into pigments and from +-- there into actual usable dyes. There are seven base colors - one for each +-- flower, plus black (as "carbon black") from coal, and white (as "titanium +-- dioxide") from stone. Most give two portions of pigment; cactus gives 6, +-- stone gives 10. + +pigments = { + "red", + "orange", + "yellow", + "green", + "blue", +} + +dyesdesc = { + "Red", + "Orange", + "Yellow", + "Green", + "Blue", +} + +colorsources = { + "flowers:flower_rose", + "flowers:flower_tulip", + "flowers:flower_dandelion_yellow", + "flowers:flower_waterlily", + "flowers:flower_viola", +} + +for color = 1, 5 do + + groupcolor = + -- the recipes to turn sources into pigments + + minetest.register_craftitem("unifieddyes:pigment_"..pigments[color], { + description = dyesdesc[color].." Pigment", + inventory_image = "unifieddyes_pigment_"..pigments[color]..".png", + }) + + minetest.register_craft({ + type = "cooking", + output = "unifieddyes:pigment_"..pigments[color].." 2", + recipe = colorsources[color], + }) + + -- The recipes to turn pigments into usable dyes + + minetest.register_craftitem("unifieddyes:"..pigments[color], { + description = dyesdesc[color].." Dye", + inventory_image = "unifieddyes_"..pigments[color]..".png", + groups = { dye=1, ["basecolor_"..pigments[color]]=1, ["excolor_"..pigments[color]]=1, ["unicolor_"..pigments[color]]=1 } + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:"..pigments[color], + recipe = { + "unifieddyes:pigment_"..pigments[color], + "unifieddyes:dye_base" + } + }) +end + +-- Stone->titanium dioxide and cactus->green pigment are done separately +-- because of their larger yields + +minetest.register_craftitem("unifieddyes:titanium_dioxide", { + description = "Titanium Dioxide", + inventory_image = "unifieddyes_titanium_dioxide.png", +}) + +minetest.register_craft({ + type = "cooking", + output = "unifieddyes:titanium_dioxide 10", + recipe = "default:stone", +}) + +minetest.register_craft({ + type = "cooking", + output = "unifieddyes:pigment_green 6", + recipe = "default:cactus", +}) + +-- coal->carbon black and carbon black -> black dye are done separately +-- because of the different names + +minetest.register_craftitem("unifieddyes:carbon_black", { + description = "Carbon Black", + inventory_image = "unifieddyes_carbon_black.png", + groups = { dye=1, basecolor_black=1, excolor_black=1, unicolor_black=1 } +}) + +minetest.register_craft({ + type = "cooking", + output = "unifieddyes:carbon_black 2", + recipe = "default:coal_lump", +}) + +minetest.register_craftitem("unifieddyes:black", { + description = "Carbon Black", + inventory_image = "unifieddyes_black.png", +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:black", + recipe = { + "unifieddyes:carbon_black", + "unifieddyes:dye_base", + }, +}) + +--======================================================================= +-- Now that we have the dyes in a usable form, let's mix the various +-- ingredients together to create the rest of the mod's colors and greys. + + +---------------------------- +-- The 5 levels of greyscale + +-- White paint + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:white_paint", + recipe = { + "unifieddyes:titanium_dioxide", + "bucket:bucket_water", + "default:junglegrass", + }, +}) + +minetest.register_craftitem("unifieddyes:white_paint", { + description = "White Paint", + inventory_image = "unifieddyes_white_paint.png", + groups = { dye=1, basecolor_white=1, excolor_white=1, unicolor_white=1 } +}) + +-- Light grey paint + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:lightgrey_paint 3", + recipe = { + "unifieddyes:white_paint", + "unifieddyes:white_paint", + "unifieddyes:carbon_black", + }, +}) + +minetest.register_craftitem("unifieddyes:lightgrey_paint", { + description = "Light grey paint", + inventory_image = "unifieddyes_lightgrey_paint.png", + groups = { dye=1, excolor_lightgrey=1, unicolor_lightgrey=1 } +}) + +-- Medium grey paint + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:grey_paint 2", + recipe = { + "unifieddyes:white_paint", + "unifieddyes:carbon_black", + }, +}) + +minetest.register_craftitem("unifieddyes:grey_paint", { + description = "Medium grey paint", + inventory_image = "unifieddyes_grey_paint.png", + groups = { dye=1, basecolor_grey=1, excolor_grey=1, unicolor_grey=1 } +}) + +-- Dark grey paint + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:darkgrey_paint 3", + recipe = { + "unifieddyes:white_paint", + "unifieddyes:carbon_black", + "unifieddyes:carbon_black", + }, +}) + +minetest.register_craftitem("unifieddyes:darkgrey_paint", { + description = "Dark grey paint", + inventory_image = "unifieddyes_darkgrey_paint.png", + groups = { dye=1, excolor_darkgrey=1, unicolor_darkgrey=1 } +}) + + +--============================================================================= +-- Smelting/crafting recipes needed to generate various remaining 'full' colors +-- (the register_craftitem functions are in the generate-the-rest loop below). + +-- Cyan + +minetest.register_craftitem("unifieddyes:cyan", { + description = "Full Cyan dye", + inventory_image = "unifieddyes_cyan.png", + groups = { dye=1, basecolor_cyan=1, excolor_cyan=1, unicolor_cyan=1 } +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:cyan 2", + recipe = { + "unifieddyes:blue", + "unifieddyes:green", + }, +}) + +-- Magenta + +minetest.register_craftitem("unifieddyes:magenta", { + description = "Full Magenta dye", + inventory_image = "unifieddyes_magenta.png", + groups = { dye=1, basecolor_magenta=1, excolor_magenta=1, unicolor_magenta=1 } +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:magenta 2", + recipe = { + "unifieddyes:blue", + "unifieddyes:red", + }, +}) + +-- Lime + +minetest.register_craftitem("unifieddyes:lime", { + description = "Full Lime dye", + inventory_image = "unifieddyes_lime.png", + groups = { dye=1, excolor_lime=1, unicolor_lime=1 } +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:lime 2", + recipe = { + "unifieddyes:yellow", + "unifieddyes:green", + }, +}) + +-- Aqua + +minetest.register_craftitem("unifieddyes:aqua", { + description = "Full Aqua dye", + inventory_image = "unifieddyes_aqua.png", + groups = { dye=1, excolor_aqua=1, unicolor_aqua=1 } +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:aqua 2", + recipe = { + "unifieddyes:cyan", + "unifieddyes:green", + }, +}) + +-- Sky blue + +minetest.register_craftitem("unifieddyes:skyblue", { + description = "Full Sky Blue dye", + inventory_image = "unifieddyes_skyblue.png", + groups = { dye=1, excolor_sky_blue=1, unicolor_sky_blue=1 } +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:skyblue 2", + recipe = { + "unifieddyes:cyan", + "unifieddyes:blue", + }, +}) + +-- Violet + +minetest.register_craftitem("unifieddyes:violet", { + description = "Full Violet/Purple dye", + inventory_image = "unifieddyes_violet.png", + groups = { dye=1, basecolor_violet=1, excolor_violet=1, unicolor_violet=1 } +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:violet 2", + recipe = { + "unifieddyes:blue", + "unifieddyes:magenta", + }, +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:violet 3", + recipe = { + "unifieddyes:blue", + "unifieddyes:blue", + "unifieddyes:red", + }, +}) + +-- Red-violet + +minetest.register_craftitem("unifieddyes:redviolet", { + description = "Full Red-violet dye", + inventory_image = "unifieddyes_redviolet.png", + groups = { dye=1, excolor_red_violet=1, unicolor_red_violet=1 } +}) + +minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:redviolet 2", + recipe = { + "unifieddyes:red", + "unifieddyes:magenta", + }, +}) + + +-- ================================================================= + +-- Finally, generate all of additional variants of hue, saturation, and +-- brightness. + +-- "s50" in a file/item name means "saturation: 50%". +-- Brightness levels in the textures are 33% ("dark"), 66% ("medium"), +-- 100% ("full" but not so-named), and 150% ("light"). + +HUES = { + "red", + "orange", + "yellow", + "lime", + "green", + "aqua", + "cyan", + "skyblue", + "blue", + "violet", + "magenta", + "redviolet" +} + +for i = 1, 12 do + + hue = HUES[i] + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:dark_" .. hue .. "_s50 2", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:darkgrey_paint", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:dark_" .. hue .. "_s50 4", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:black", + "unifieddyes:black", + "unifieddyes:white_paint" + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:dark_" .. hue .. " 3", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:black", + "unifieddyes:black", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:medium_" .. hue .. "_s50 2", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:grey_paint", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:medium_" .. hue .. "_s50 3", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:black", + "unifieddyes:white_paint", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:medium_" .. hue .. " 2", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:black", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:" .. hue .. "_s50 2", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:lightgrey_paint", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:" .. hue .. "_s50 4", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:white_paint", + "unifieddyes:white_paint", + "unifieddyes:black", + }, + }) + + minetest.register_craft( { + type = "shapeless", + output = "unifieddyes:light_" .. hue .. " 2", + recipe = { + "unifieddyes:" .. hue, + "unifieddyes:white_paint", + }, + }) + + minetest.register_craftitem("unifieddyes:dark_" .. hue .. "_s50", { + description = "Dark " .. hue .. " (low saturation)", + inventory_image = "unifieddyes_dark_" .. hue .. "_s50.png", + groups = { dye=1, ["unicolor_dark_"..hue.."_s50"]=1 } + }) + + minetest.register_craftitem("unifieddyes:dark_" .. hue, { + description = "Dark " .. hue, + inventory_image = "unifieddyes_dark_" .. hue .. ".png", + groups = { dye=1, ["unicolor_dark_"..hue]=1 } + }) + + minetest.register_craftitem("unifieddyes:medium_" .. hue .. "_s50", { + description = "Medium " .. hue .. " (low saturation)", + inventory_image = "unifieddyes_medium_" .. hue .. "_s50.png", + groups = { dye=1, ["unicolor_medium_"..hue.."_s50"]=1 } + }) + + minetest.register_craftitem("unifieddyes:medium_" .. hue, { + description = "Medium " .. hue, + inventory_image = "unifieddyes_medium_" .. hue .. ".png", + groups = { dye=1, ["unicolor_medium_"..hue]=1 } + }) + + minetest.register_craftitem("unifieddyes:" .. hue .. "_s50", { + description = "Full " .. hue .. " (low saturation)", + inventory_image = "unifieddyes_" .. hue .. "_s50.png", + groups = { dye=1, ["unicolor_"..hue.."_s50"]=1 } + }) + + minetest.register_craftitem("unifieddyes:light_" .. hue, { + description = "Light " .. hue, + inventory_image = "unifieddyes_light_" .. hue .. ".png", + groups = { dye=1, ["unicolor_light_"..hue]=1 } + }) + +end + + + +print("[UnifiedDyes] Loaded!") + |