diff --git a/changelog.txt b/changelog.txt index 01eb1a0..bb3930c 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,10 @@ Changelog: +2012-07-25: Replaced missing craftitem entries and got rid of some redundant +code left over from last update. Added group settings for all dyes according +to recently-published standard. Fixed a few typos in item descriptions, and +straightened up capitalization. + 2012-07-24: Added some extra steps to the dye-making process, added recommendation that empty bottles be given back to the player on use. Dyes are still easy to make, they just require a more realistic (and this, harder) diff --git a/init.lua b/init.lua index c49cf1c..812db19 100644 --- a/init.lua +++ b/init.lua @@ -77,15 +77,6 @@ pigments = { "yellow", "green", "blue", - "carbon_black", -} - -pigmentsdesc = { - "Red", - "Orange", - "Yellow", - "Green", - "Blue", } dyesdesc = { @@ -106,10 +97,11 @@ colorsources = { for color = 1, 5 do + groupcolor = -- the recipes to turn sources into pigments minetest.register_craftitem("unifieddyes:pigment_"..pigments[color], { - description = pigmentsdesc[color].." Pigment", + description = dyesdesc[color].." Pigment", inventory_image = "unifieddyes_pigment_"..pigments[color]..".png", }) @@ -122,8 +114,9 @@ for color = 1, 5 do -- The recipes to turn pigments into usable dyes minetest.register_craftitem("unifieddyes:"..pigments[color], { - description = dyesdesc[color].." Dye", + description = "Full "..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( { @@ -162,6 +155,7 @@ minetest.register_craft({ 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({ @@ -171,7 +165,7 @@ minetest.register_craft({ }) minetest.register_craftitem("unifieddyes:black", { - description = "Carbon Black", + description = "Black Dye", inventory_image = "unifieddyes_black.png", }) @@ -207,7 +201,7 @@ minetest.register_craft( { minetest.register_craftitem("unifieddyes:white_paint", { description = "White Paint", inventory_image = "unifieddyes_white_paint.png", - groups = {dye=1}, + groups = { dye=1, basecolor_white=1, excolor_white=1, unicolor_white=1 } }) -- Light grey paint @@ -223,9 +217,9 @@ minetest.register_craft( { }) minetest.register_craftitem("unifieddyes:lightgrey_paint", { - description = "Light grey paint", + description = "Light Grey Paint", inventory_image = "unifieddyes_lightgrey_paint.png", - groups = {dye=1}, + groups = { dye=1, excolor_lightgrey=1, unicolor_lightgrey=1 } }) -- Medium grey paint @@ -240,9 +234,9 @@ minetest.register_craft( { }) minetest.register_craftitem("unifieddyes:grey_paint", { - description = "Medium grey paint", + description = "Medium Grey Paint", inventory_image = "unifieddyes_grey_paint.png", - groups = {dye=1}, + groups = { dye=1, basecolor_grey=1, excolor_grey=1, unicolor_grey=1 } }) -- Dark grey paint @@ -258,9 +252,9 @@ minetest.register_craft( { }) minetest.register_craftitem("unifieddyes:darkgrey_paint", { - description = "Dark grey paint", + description = "Dark Grey Paint", inventory_image = "unifieddyes_darkgrey_paint.png", - groups = {dye=1}, + groups = { dye=1, excolor_darkgrey=1, unicolor_darkgrey=1 } }) @@ -270,6 +264,12 @@ minetest.register_craftitem("unifieddyes:darkgrey_paint", { -- 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", @@ -281,6 +281,12 @@ minetest.register_craft( { -- 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", @@ -292,6 +298,12 @@ minetest.register_craft( { -- 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", @@ -303,6 +315,12 @@ minetest.register_craft( { -- 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", @@ -314,6 +332,12 @@ minetest.register_craft( { -- 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", @@ -325,6 +349,12 @@ minetest.register_craft( { -- 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", @@ -344,9 +374,14 @@ minetest.register_craft( { }, }) - -- 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", @@ -381,9 +416,26 @@ HUES = { "redviolet" } +HUES2 = { + "Red", + "Orange", + "Yellow", + "Lime", + "Green", + "Aqua", + "Cyan", + "Sky-blue", + "Blue", + "Violet", + "Magenta", + "Red-violet" +} + + for i = 1, 12 do hue = HUES[i] + hue2 = HUES2[i] minetest.register_craft( { type = "shapeless", @@ -473,50 +525,42 @@ for i = 1, 12 do }) minetest.register_craftitem("unifieddyes:dark_" .. hue .. "_s50", { - description = "Dark " .. hue .. " (low saturation)", + description = "Dark " .. hue2 .. " Dye (low saturation)", inventory_image = "unifieddyes_dark_" .. hue .. "_s50.png", - groups = {dye=1}, + groups = { dye=1, ["unicolor_dark_"..hue.."_s50"]=1 } }) minetest.register_craftitem("unifieddyes:dark_" .. hue, { - description = "Dark " .. hue, + description = "Dark " .. hue2 .. " Dye", inventory_image = "unifieddyes_dark_" .. hue .. ".png", - groups = {dye=1}, + groups = { dye=1, ["unicolor_dark_"..hue]=1 } }) minetest.register_craftitem("unifieddyes:medium_" .. hue .. "_s50", { - description = "Medium " .. hue .. " (low saturation)", + description = "Medium " .. hue2 .. " Dye (low saturation)", inventory_image = "unifieddyes_medium_" .. hue .. "_s50.png", - groups = {dye=1}, + groups = { dye=1, ["unicolor_medium_"..hue.."_s50"]=1 } }) minetest.register_craftitem("unifieddyes:medium_" .. hue, { - description = "Medium " .. hue, + description = "Medium " .. hue2 .. " Dye", inventory_image = "unifieddyes_medium_" .. hue .. ".png", - groups = {dye=1}, + groups = { dye=1, ["unicolor_medium_"..hue]=1 } }) minetest.register_craftitem("unifieddyes:" .. hue .. "_s50", { - description = "Full " .. hue .. " (low saturation)", + description = "Full " .. hue2 .. " Dye (low saturation)", inventory_image = "unifieddyes_" .. hue .. "_s50.png", - groups = {dye=1}, - }) - - minetest.register_craftitem("unifieddyes:" .. hue, { - description = "Full " .. hue, - inventory_image = "unifieddyes_" .. hue .. ".png", - groups = {dye=1}, + groups = { dye=1, ["unicolor_"..hue.."_s50"]=1 } }) minetest.register_craftitem("unifieddyes:light_" .. hue, { - description = "Light " .. hue, + description = "Light " .. hue2 .. " Dye", inventory_image = "unifieddyes_light_" .. hue .. ".png", - groups = {dye=1}, + groups = { dye=1, ["unicolor_light_"..hue]=1 } }) end - - print("[UnifiedDyes] Loaded!") 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!") +