Refactored the code to use default "common" dyes

rather than directly from flowers.

This mod now depends on "default" and "dye" from the Minetest common
sub-game.  Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.

Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.

All dyes are obtained by crafting, not cooking, for consistency with the
default dye mod.

The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with.  Now it's just
dry dye powders, as with the default dye mod.

Also, got rid of the whole paint scheme, in favor of dry powders.

All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
This commit is contained in:
Vanessa Ezekowitz 2013-04-30 06:02:22 -04:00
parent 652a0c9a89
commit a9c803b14f
81 changed files with 221 additions and 458 deletions

@ -1,71 +1,101 @@
Changelog Changelog
--------- ---------
2012-07-26: Added a "version" check for the flowers dependency: If the 2013-04-30: Multiple changes
flowers mod defines "flowers:flower_geranium" (as is the case with my update
of 2012-08-01), then those will be used to get blue pigment powder, and violas
will produce violet powder, both of which can be directly used to create their
respective liquid dye colors. If it is not defined (e.g. the user has an
older version of the flowers mod), then violas produce blue dye powder. Violet
dye can still be formed by mixing blue and magenta or blue and red dyes, as
before.
2012-07-26: Better bottle textures. Note that these are blended against the * Refactored the code to use default "common" dyes
50% grey field they normally appear on in the inventory display, so they will rather than directly from flowers.
show artifacts if you try to wield them. Don't do that. :-)
2012-07-26: Split off glass bottles into a separate mod, "Vessels". This mod * This mod now depends on "default" and "dye" from the Minetest common
now depends on it. sub-game. Since the default dye mod uses default flowers, this mod no
longer checks for what version of flowers you're using, or even depends
on it.
2012-07-25 (almost immediately after): Fixed a copy&paste error for black dye. * Bottle-based textures have been replaced with piles of dye powder, based
on the default red dye texture.
2012-07-25: Replaced missing craftitem entries and got rid of some redundant * All dyes are obtained by crafting, not cooking, for consistency with the
code left over from last update. Added group settings for all dyes according default dye mod.
to recently-published standard. Fixed a few typos in item descriptions, and
straightened up capitalization. * The somewhat-complicated method using separate "pigment" powders, glass
bottles and "liquid dye base" has been done away with. Now it's just
dry dye powders, as with the default dye mod.
* Also, got rid of the whole paint scheme, in favor of dry powders.
* All old dyes, paints, and Unified Dyes pigment powders have been aliased
back to the standard dye powders.
2012-07-26: Added a "version" check for the flowers dependency: If the
flowers mod defines "flowers:flower_geranium" (as is the case with my
update of 2012-08-01), then those will be used to get blue pigment
powder, and violas will produce violet powder, both of which can be
directly used to create their respective liquid dye colors. If it is
not defined (e.g. the user has an older version of the flowers mod),
then violas produce blue dye powder. Violet dye can still be formed by
mixing blue and magenta or blue and red dyes, as before.
2012-07-26: Better bottle textures. Note that these are blended against
the 50% grey field they normally appear on in the inventory display, so
they will show artifacts if you try to wield them. Don't do that. :-)
2012-07-26: Split off glass bottles into a separate mod, "Vessels".
This mod now depends on it.
2012-07-25 (almost immediately after): Fixed a copy&paste error for
black dye.
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 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 recommendation that empty bottles be given back to the player on use.
are still easy to make, they just require a more realistic (and this, harder) Dyes are still easy to make, they just require a more realistic (and
process now. this, harder) process now.
2012-07-16 (a bit later): fixed a minor error in generation of medium grey. 2012-07-16 (a bit later): fixed a minor error in generation of medium
grey.
2012-07-16: Added a new set of colors, "light" (brightness of 150% versus the 2012-07-16: Added a new set of colors, "light" (brightness of 150%
'full' shade), for a total of 89. No 50% saturation version of this set. versus the 'full' shade), for a total of 89. No 50% saturation version
Added a palette image showing the full set of colors. of this set. Added a palette image showing the full set of colors.
2012-07-13: Fixed some missing commas. 2012-07-13: Fixed some missing commas.
2012-07-13: Added a script to aid in the generation of new textures for mods 2012-07-13: Added a script to aid in the generation of new textures for
that depend on unifieddyes. Moved this changelog from the forum into the mods that depend on unifieddyes. Moved this changelog from the forum
distribution directory. Rewrote the README to contain everything from the into the distribution directory. Rewrote the README to contain
forum post, and expanded it to document the new generation script. everything from the forum post, and expanded it to document the new
generation script.
2012-07-12 (a bit later): added groups = {dye=1}, to each register_craftitem 2012-07-12 (a bit later): added groups = {dye=1}, to each
call, to make it easier for other mods to identify the dyes and categorize register_craftitem call, to make it easier for other mods to identify
them. the dyes and categorize them.
2012-07-12: moved project to github. 2012-07-12: moved project to github.
2012-07-11 (continuing): Tweaked the script to remove titanium dioxide from the 2012-07-11 (continuing): Tweaked the script to remove titanium dioxide
output, since it isn't intended to be directly used as a dye/paint (but rather, from the output, since it isn't intended to be directly used as a
to make paint that can then be used). Regenerated colors.txt. dye/paint (but rather, to make paint that can then be used).
Regenerated colors.txt.
2012-07-11 (immediately after): The script was reading the wrong pixel from the 2012-07-11 (immediately after): The script was reading the wrong pixel
image, resulting in lighter-than-correct colors. Fixed it and regenerated the from the image, resulting in lighter-than-correct colors. Fixed it and
colors.txt file. regenerated the colors.txt file.
2012-07-11: Added a script to list all of the colors and their RGB values and 2012-07-11: Added a script to list all of the colors and their RGB
texture filenames, and a text file containing the output thereof. values and texture filenames, and a text file containing the output
thereof.
2012-07-08 (a bit later): deleted a few unused files (copy&paste error). 2012-07-08 (a bit later): deleted a few unused files (copy&paste error).
2012-07-08: Major boost in the number of available colors - was 8, now 77. 2012-07-08: Major boost in the number of available colors - was 8, now
Should cover pretty much the entire spectrum of colors one might use in this 77. Should cover pretty much the entire spectrum of colors one might
game. use in this game.
2012-07-02: Deleted a few redundant files (leftovers from when I wanted to 2012-07-02: Deleted a few redundant files (leftovers from when I wanted
merge in flowers and then changed my mind). to merge in flowers and then changed my mind).
2012-06-26: Initial upload. 2012-06-26: Initial upload.

@ -1,4 +1,2 @@
default default
flowers dye
vessels
bucket

553
init.lua

@ -2,7 +2,7 @@
Unified Dyes Unified Dyes
This mod provides a complete dye system and framework for Minetest 0.4.x. This mod provides an extension to the Minetest 0.4.x dye system
============================================================================== ==============================================================================
@ -25,440 +25,145 @@ with this program; if not, write to the Free Software Foundation, Inc.,
============================================================================== ==============================================================================
First, craft some bottles from the Vessels mod, then make some 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.
These craft/craftitem definitions for glass bottles are deprecated and are --=====================================================================
only included here for backwards compatibility. Use vessels:glass_bottle -- Items/recipes needed to generate the few base colors that are not
instead. -- provided by the standard dyes mod.
]]--
minetest.register_craftitem("unifieddyes:empty_bottle", {
description = "Glass Bottle (empty) (Deprecated)",
inventory_image = "unifieddyes_empty_bottle.png",
})
minetest.register_craft( {
type = "shapeless",
output = "vessels:glass_fragments",
recipe = {
"unifieddyes:empty_bottle",
"unifieddyes:empty_bottle",
},
})
-- Now the current stuff, using vessels:glass_bottle.
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 = {
"vessels:glass_bottle",
"vessels:glass_bottle",
"vessels:glass_bottle",
"vessels:glass_bottle",
"vessels:glass_bottle",
"vessels:glass_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"
}
dyesdesc = {
"Red",
"Orange",
"Yellow",
"Green"
}
colorsources = {
"flowers:flower_rose",
"flowers:flower_tulip",
"flowers:flower_dandelion_yellow",
"flowers:flower_waterlily",
}
for color in ipairs(colorsources) do
-- 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 = "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( {
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",
})
minetest.register_craft({
type = "cooking",
output = "unifieddyes:carbon_black 2",
recipe = "default:coal_lump",
})
minetest.register_craftitem("unifieddyes:black", {
description = "Black Dye",
inventory_image = "unifieddyes_black.png",
groups = { dye=1, basecolor_black=1, excolor_black=1, unicolor_black=1 }
})
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 -- Lime
minetest.register_craftitem("unifieddyes:lime", { minetest.register_craftitem(":dye:lime", {
description = "Full Lime Dye", description = "Lime Dye",
inventory_image = "unifieddyes_lime.png", inventory_image = "unifieddyes_lime.png",
groups = { dye=1, excolor_lime=1, unicolor_lime=1 } groups = { dye=1, excolor_lime=1, unicolor_lime=1 }
}) })
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifieddyes:lime 2", output = "dye:lime 2",
recipe = { recipe = {
"unifieddyes:yellow", "dye:yellow",
"unifieddyes:green", "dye:green",
}, },
}) })
-- Aqua -- Aqua
minetest.register_craftitem("unifieddyes:aqua", { minetest.register_craftitem(":dye:aqua", {
description = "Full Aqua Dye", description = "Aqua Dye",
inventory_image = "unifieddyes_aqua.png", inventory_image = "unifieddyes_aqua.png",
groups = { dye=1, excolor_aqua=1, unicolor_aqua=1 } groups = { dye=1, excolor_aqua=1, unicolor_aqua=1 }
}) })
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifieddyes:aqua 2", output = "dye:aqua 2",
recipe = { recipe = {
"unifieddyes:cyan", "dye:cyan",
"unifieddyes:green", "dye:green",
}, },
}) })
-- Sky blue -- Sky blue
minetest.register_craftitem("unifieddyes:skyblue", { minetest.register_craftitem(":dye:skyblue", {
description = "Full Sky-blue Dye", description = "Sky-blue Dye",
inventory_image = "unifieddyes_skyblue.png", inventory_image = "unifieddyes_skyblue.png",
groups = { dye=1, excolor_sky_blue=1, unicolor_sky_blue=1 } groups = { dye=1, excolor_sky_blue=1, unicolor_sky_blue=1 }
}) })
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifieddyes:skyblue 2", output = "dye:skyblue 2",
recipe = { recipe = {
"unifieddyes:cyan", "dye:cyan",
"unifieddyes:blue", "dye:blue",
}, },
}) })
-- Red-violet -- Red-violet
minetest.register_craftitem("unifieddyes:redviolet", { minetest.register_craftitem(":dye:redviolet", {
description = "Full Red-violet Dye", description = "Red-violet Dye",
inventory_image = "unifieddyes_redviolet.png", inventory_image = "unifieddyes_redviolet.png",
groups = { dye=1, excolor_red_violet=1, unicolor_red_violet=1 } groups = { dye=1, excolor_red_violet=1, unicolor_red_violet=1 }
}) })
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifieddyes:redviolet 2", output = "dye:redviolet 2",
recipe = { recipe = {
"unifieddyes:red", "dye:red",
"unifieddyes:magenta", "dye:magenta",
}, },
}) })
-- We need to check if the version of the Flowers mod that is installed
-- contains geraniums or not. If it doesn't, use the Viola to make blue dye.
-- If Geraniums do exist, use them to make blue dye instead, and use Violas
-- to get violet dye. Violet can always be made by mixing blue with magenta
-- or red as usual.
-- Light grey
minetest.register_craftitem("unifieddyes:pigment_blue", { minetest.register_craftitem(":dye:light_grey", {
description = "Blue Pigment", description = "Light Grey Dye",
inventory_image = "unifieddyes_pigment_blue.png", inventory_image = "unifieddyes_lightgrey.png",
}) groups = { dye=1, excolor_red_violet=1, unicolor_red_violet=1 }
minetest.register_craft( {
type = "shapeless",
output = "unifieddyes:blue",
recipe = {
"unifieddyes:pigment_blue",
"unifieddyes:dye_base"
}
})
minetest.register_craftitem("unifieddyes:blue", {
description = "Full Blue Dye",
inventory_image = "unifieddyes_blue.png",
groups = { dye=1, basecolor_blue=1, excolor_blue=1, unicolor_blue=1 }
})
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( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifieddyes:violet 2", output = "dye:light_grey 2",
recipe = { recipe = {
"unifieddyes:blue", "dye:grey",
"unifieddyes:magenta", "dye:white",
}, },
}) })
-- Extra craft for black dye
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifieddyes:violet 3", output = "dye:black 4",
recipe = { recipe = {
"unifieddyes:blue", "default:coal_lump",
"unifieddyes:blue",
"unifieddyes:red",
}, },
}) })
if minetest.registered_nodes["flowers:flower_geranium"] == nil then -- Extra craft for dark grey dye
minetest.register_craft( {
type = "shapeless",
output = "dye:dark_grey 3",
recipe = {
"dye:black",
"dye:black",
"dye:white",
},
})
minetest.register_craft({ -- Extra craft for light grey dye
type = "cooking",
output = "unifieddyes:pigment_blue 2",
recipe = "flowers:flower_viola",
})
else
minetest.register_craftitem("unifieddyes:pigment_violet", {
description = "Violet Pigment",
inventory_image = "unifieddyes_pigment_violet.png",
})
minetest.register_craft({ minetest.register_craft( {
type = "cooking", type = "shapeless",
output = "unifieddyes:pigment_blue 2", output = "dye:light_grey 3",
recipe = "flowers:flower_geranium", recipe = {
}) "dye:black",
"dye:white",
"dye:white",
},
})
minetest.register_craft({ -- Extra craft for green dye
type = "cooking",
output = "unifieddyes:pigment_violet 2",
recipe = "flowers:flower_viola",
})
minetest.register_craft( {
type = "shapeless",
output = "unifieddyes:violet",
recipe = {
"unifieddyes:pigment_violet",
"unifieddyes:dye_base"
}
})
end
minetest.register_craft( {
type = "shapeless",
output = "dye:green 4",
recipe = {
"default:cactus",
},
})
-- ================================================================= -- =================================================================
-- Finally, generate all of additional variants of hue, saturation, and -- Generate all of additional variants of hue, saturation, and
-- brightness. -- brightness.
-- "s50" in a file/item name means "saturation: 50%". -- "s50" in a file/item name means "saturation: 50%".
@ -505,8 +210,8 @@ for i = 1, 12 do
type = "shapeless", type = "shapeless",
output = "unifieddyes:dark_" .. hue .. "_s50 2", output = "unifieddyes:dark_" .. hue .. "_s50 2",
recipe = { recipe = {
"unifieddyes:" .. hue, "dye:" .. hue,
"unifieddyes:darkgrey_paint", "dye:dark_grey",
}, },
}) })
@ -514,29 +219,42 @@ for i = 1, 12 do
type = "shapeless", type = "shapeless",
output = "unifieddyes:dark_" .. hue .. "_s50 4", output = "unifieddyes:dark_" .. hue .. "_s50 4",
recipe = { recipe = {
"unifieddyes:" .. hue, "dye:" .. hue,
"unifieddyes:black", "dye:black",
"unifieddyes:black", "dye:black",
"unifieddyes:white_paint" "dye:white"
}, },
}) })
minetest.register_craft( { if hue == "green" then
type = "shapeless",
output = "unifieddyes:dark_" .. hue .. " 3", minetest.register_craft( {
recipe = { type = "shapeless",
"unifieddyes:" .. hue, output = "dye:dark_green 3",
"unifieddyes:black", recipe = {
"unifieddyes:black", "dye:" .. hue,
}, "dye:black",
}) "dye:black",
},
})
else
minetest.register_craft( {
type = "shapeless",
output = "unifieddyes:dark_" .. hue .. " 3",
recipe = {
"dye:" .. hue,
"dye:black",
"dye:black",
},
})
end
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifieddyes:medium_" .. hue .. "_s50 2", output = "unifieddyes:medium_" .. hue .. "_s50 2",
recipe = { recipe = {
"unifieddyes:" .. hue, "dye:" .. hue,
"unifieddyes:grey_paint", "dye:grey",
}, },
}) })
@ -544,9 +262,9 @@ for i = 1, 12 do
type = "shapeless", type = "shapeless",
output = "unifieddyes:medium_" .. hue .. "_s50 3", output = "unifieddyes:medium_" .. hue .. "_s50 3",
recipe = { recipe = {
"unifieddyes:" .. hue, "dye:" .. hue,
"unifieddyes:black", "dye:black",
"unifieddyes:white_paint", "dye:white",
}, },
}) })
@ -554,8 +272,8 @@ for i = 1, 12 do
type = "shapeless", type = "shapeless",
output = "unifieddyes:medium_" .. hue .. " 2", output = "unifieddyes:medium_" .. hue .. " 2",
recipe = { recipe = {
"unifieddyes:" .. hue, "dye:" .. hue,
"unifieddyes:black", "dye:black",
}, },
}) })
@ -563,8 +281,9 @@ for i = 1, 12 do
type = "shapeless", type = "shapeless",
output = "unifieddyes:" .. hue .. "_s50 2", output = "unifieddyes:" .. hue .. "_s50 2",
recipe = { recipe = {
"unifieddyes:" .. hue, "dye:" .. hue,
"unifieddyes:lightgrey_paint", "dye:grey",
"dye:white",
}, },
}) })
@ -572,22 +291,23 @@ for i = 1, 12 do
type = "shapeless", type = "shapeless",
output = "unifieddyes:" .. hue .. "_s50 4", output = "unifieddyes:" .. hue .. "_s50 4",
recipe = { recipe = {
"unifieddyes:" .. hue, "dye:" .. hue,
"unifieddyes:white_paint", "dye:white",
"unifieddyes:white_paint", "dye:white",
"unifieddyes:black", "dye:black",
}, },
}) })
minetest.register_craft( { if hue ~= "red" then
type = "shapeless", minetest.register_craft( {
output = "unifieddyes:light_" .. hue .. " 2", type = "shapeless",
recipe = { output = "unifieddyes:light_" .. hue .. " 2",
"unifieddyes:" .. hue, recipe = {
"unifieddyes:white_paint", "dye:" .. hue,
}, "dye:white",
replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, }, },
}) })
end
minetest.register_craftitem("unifieddyes:dark_" .. hue .. "_s50", { minetest.register_craftitem("unifieddyes:dark_" .. hue .. "_s50", {
description = "Dark " .. hue2 .. " Dye (low saturation)", description = "Dark " .. hue2 .. " Dye (low saturation)",
@ -595,11 +315,13 @@ for i = 1, 12 do
groups = { dye=1, ["unicolor_dark_"..hue.."_s50"]=1 } groups = { dye=1, ["unicolor_dark_"..hue.."_s50"]=1 }
}) })
minetest.register_craftitem("unifieddyes:dark_" .. hue, { if hue ~= "green" then
description = "Dark " .. hue2 .. " Dye", minetest.register_craftitem("unifieddyes:dark_" .. hue, {
inventory_image = "unifieddyes_dark_" .. hue .. ".png", description = "Dark " .. hue2 .. " Dye",
groups = { dye=1, ["unicolor_dark_"..hue]=1 } inventory_image = "unifieddyes_dark_" .. hue .. ".png",
}) groups = { dye=1, ["unicolor_dark_"..hue]=1 }
})
end
minetest.register_craftitem("unifieddyes:medium_" .. hue .. "_s50", { minetest.register_craftitem("unifieddyes:medium_" .. hue .. "_s50", {
description = "Medium " .. hue2 .. " Dye (low saturation)", description = "Medium " .. hue2 .. " Dye (low saturation)",
@ -619,13 +341,26 @@ for i = 1, 12 do
groups = { dye=1, ["unicolor_"..hue.."_s50"]=1 } groups = { dye=1, ["unicolor_"..hue.."_s50"]=1 }
}) })
minetest.register_craftitem("unifieddyes:light_" .. hue, { if hue ~= "red" then
description = "Light " .. hue2 .. " Dye", minetest.register_craftitem("unifieddyes:light_" .. hue, {
inventory_image = "unifieddyes_light_" .. hue .. ".png", description = "Light " .. hue2 .. " Dye",
groups = { dye=1, ["unicolor_light_"..hue]=1 } inventory_image = "unifieddyes_light_" .. hue .. ".png",
}) groups = { dye=1, ["unicolor_light_"..hue]=1 }
})
end
minetest.register_alias("unifieddyes:"..hue, "dye:"..hue)
minetest.register_alias("unifieddyes:pigment_"..hue, "dye:"..hue)
end end
minetest.register_alias("unifieddyes:light_red", "dye:pink")
minetest.register_alias("unifieddyes:dark_green", "dye:dark_green")
minetest.register_alias("unifieddyes:white_paint", "dye:white")
minetest.register_alias("unifieddyes:titanium_dioxide", "dye:white")
minetest.register_alias("unifieddyes:lightgrey_paint", "dye:light_grey")
minetest.register_alias("unifieddyes:grey_paint", "dye:grey")
minetest.register_alias("unifieddyes:darkgrey_paint", "dye:dark_grey")
minetest.register_alias("unifieddyes:carbon_black", "dye:black")
print("[UnifiedDyes] Loaded!") print("[UnifiedDyes] Loaded!")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

After

Width:  |  Height:  |  Size: 399 B