summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-02-24 17:40:37 -0500
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-02-24 17:40:37 -0500
commit9ad1f28ae1a50fb3beda339ebc3575a9b28e21ec (patch)
tree1d3d88c467c5e61fd8a6392cbb88ea5f78c871f4
parent68f8c18bc324f9690019ccc09fc69ee2972d3a1d (diff)
downloadunifieddyes-9ad1f28ae1a50fb3beda339ebc3575a9b28e21ec.tar
unifieddyes-9ad1f28ae1a50fb3beda339ebc3575a9b28e21ec.tar.gz
unifieddyes-9ad1f28ae1a50fb3beda339ebc3575a9b28e21ec.tar.bz2
unifieddyes-9ad1f28ae1a50fb3beda339ebc3575a9b28e21ec.tar.xz
unifieddyes-9ad1f28ae1a50fb3beda339ebc3575a9b28e21ec.zip
auto-generate the various dye craftitems
and base them all on a single colorized texture.
-rw-r--r--init.lua238
-rw-r--r--textures/unifieddyes_aqua.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_aqua_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_blue_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_cyan_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_aqua.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_aqua_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_blue.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_blue_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_cyan.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_cyan_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_green.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_green_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_lime.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_lime_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_magenta.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_magenta_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_orange.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_orange_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_red.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_red_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_redviolet.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_redviolet_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_skyblue.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_skyblue_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_violet.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_violet_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_yellow.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dark_yellow_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_darkgrey.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_dye.pngbin0 -> 150 bytes
-rw-r--r--textures/unifieddyes_green_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_aqua.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_blue.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_cyan.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_green.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_lime.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_magenta.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_orange.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_red.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_redviolet.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_skyblue.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_violet.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_light_yellow.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_lightgrey.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_lime.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_lime_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_magenta_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_aqua.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_aqua_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_blue.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_blue_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_cyan.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_cyan_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_green.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_green_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_lime.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_lime_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_magenta.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_magenta_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_orange.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_orange_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_red.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_red_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_redviolet.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_redviolet_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_skyblue.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_skyblue_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_violet.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_violet_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_yellow.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_medium_yellow_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_orange_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_red_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_redviolet.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_redviolet_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_skyblue.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_skyblue_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_violet_s50.pngbin161 -> 0 bytes
-rw-r--r--textures/unifieddyes_yellow_s50.pngbin161 -> 0 bytes
80 files changed, 140 insertions, 98 deletions
diff --git a/init.lua b/init.lua
index 3b32d04..cb672fe 100644
--- a/init.lua
+++ b/init.lua
@@ -58,6 +58,35 @@ local HUES = {
"redviolet"
}
+-- the names of the various colors here came from http://www.procato.com/rgb+index/
+
+local HUES_EXTENDED = {
+ { "red", 0xff, 0x00, 0x00 },
+ { "vermilion", 0xff, 0x40, 0x00 },
+ { "orange", 0xff, 0x80, 0x00 },
+ { "amber", 0xff, 0xbf, 0x00 },
+ { "yellow", 0xff, 0xff, 0x00 },
+ { "lime", 0xbf, 0xff, 0x00 },
+ { "chartreuse", 0x80, 0xff, 0x00 },
+ { "harlequin", 0x40, 0xff, 0x00 },
+ { "green", 0x00, 0xff, 0x00 },
+ { "malachite", 0x00, 0xff, 0x40 },
+ { "spring", 0x00, 0xff, 0x80 },
+ { "turquoise", 0x00, 0xff, 0xbf },
+ { "cyan", 0x00, 0xff, 0xff },
+ { "cerulean", 0x00, 0xbf, 0xff },
+ { "azure", 0x00, 0x80, 0xff },
+ { "sapphire", 0x00, 0x40, 0xff },
+ { "blue", 0x00, 0x00, 0xff },
+ { "indigo", 0x40, 0x00, 0xff },
+ { "violet", 0x80, 0x00, 0xff },
+ { "mulberry", 0xbf, 0x00, 0xff },
+ { "magenta", 0xff, 0x00, 0xff },
+ { "fuchsia", 0xff, 0x00, 0xbf },
+ { "rose", 0xff, 0x00, 0x80 },
+ { "crimson", 0xff, 0x00, 0x40 }
+}
+
local SATS = {
"",
"_s50"
@@ -69,6 +98,16 @@ local VALS = {
"dark_"
}
+local VALS_EXTENDED = {
+ "faint_",
+ "pastel_",
+ "light_",
+ "bright_",
+ "",
+ "medium_",
+ "dark_"
+}
+
local GREYS = {
"white",
"light_grey",
@@ -542,17 +581,90 @@ for grey = 0, 4 do
unifieddyes.convert_classic_palette[paletteidx] = grey
end
--- Items/recipes needed to generate the few base colors that are not
--- provided by the standard dyes mod.
+-- Generate all dyes that are not part of the default minetest_game dyes mod
--- Lime
+for _, h in ipairs(HUES_EXTENDED) do
+ local hue = h[1]
+ local r = h[2]
+ local g = h[3]
+ local b = h[4]
-minetest.register_craftitem(":dye:lime", {
- description = S("Lime Dye"),
- inventory_image = "unifieddyes_lime.png",
- groups = { dye=1, excolor_lime=1, unicolor_lime=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
-})
+ for v = 0, 6 do
+ local val = VALS_EXTENDED[v+1]
+
+ local factor = 40
+ if v > 4 then factor = 75 end
+
+ local r2 = math.max(math.min(r + (4-v)*factor, 255), 0)
+ local g2 = math.max(math.min(g + (4-v)*factor, 255), 0)
+ local b2 = math.max(math.min(b + (4-v)*factor, 255), 0)
+
+ -- full-sat color
+
+ local desc = hue:gsub("%a", string.upper, 1).." Dye"
+
+ if val ~= "" then
+ desc = val:sub(1, -2):gsub("%a", string.upper, 1) .." "..desc
+ end
+
+ if not minetest.registered_items["dye:"..val..hue] then
+
+ local color = string.format("%02x", r2)..string.format("%02x", g2)..string.format("%02x", b2)
+
+ minetest.register_craftitem(":dye:"..val..hue, {
+ description = S(desc),
+ inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200",
+-- groups = { dye=1, not_in_creative_inventory=1 },
+ on_use = unifieddyes.on_use
+ })
+ minetest.register_alias("unifieddyes:"..val..hue, "dye:"..val..hue)
+ end
+
+ if v > 4 then -- also register the low-sat version
+
+ local pr = 0.299
+ local pg = 0.587
+ local pb = 0.114
+
+ local p = math.sqrt(r2*r2*pr + g2*g2*pg + b2*b2*pb)
+ local r3 = math.floor(p+(r2-p)*0.5)
+ local g3 = math.floor(p+(g2-p)*0.5)
+ local b3 = math.floor(p+(b2-p)*0.5)
+
+ local color = string.format("%02x", r3)..string.format("%02x", g3)..string.format("%02x", b3)
+
+ minetest.register_craftitem(":dye:"..val..hue.."_s50", {
+ description = S(desc.." (low saturation)"),
+ inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200",
+-- groups = { dye=1, not_in_creative_inventory=1 },
+ on_use = unifieddyes.on_use
+ })
+ minetest.register_alias("unifieddyes:"..val..hue.."_s50", "dye:"..val..hue.."_s50")
+ end
+ end
+end
+
+-- register the greyscales too :P
+
+for y = 1, 14 do -- colors 0 and 15 are black and white, default dyes
+
+ if y ~= 4 and y ~= 7 then -- dark grey and regular grey, default dyes
+
+ local rgb = string.format("%02x", y*17)..string.format("%02x", y*17)..string.format("%02x", y*17)
+ local name = "grey_"..y
+ local desc = "Grey Dye #"..y
+
+ minetest.register_craftitem(":dye:"..name, {
+ description = S(desc),
+ inventory_image = "unifieddyes_dye.png^[colorize:#"..rgb..":200",
+ -- groups = { dye=1, not_in_creative_inventory=1 },
+ on_use = unifieddyes.on_use
+ })
+ minetest.register_alias("unifieddyes:"..name, "dye:"..name)
+ end
+end
+
+-- Lime
minetest.register_craft( {
type = "shapeless",
@@ -565,16 +677,9 @@ minetest.register_craft( {
-- Aqua
-minetest.register_craftitem(":dye:aqua", {
- description = S("Aqua Dye"),
- inventory_image = "unifieddyes_aqua.png",
- groups = { dye=1, excolor_aqua=1, unicolor_aqua=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
-})
-
minetest.register_craft( {
type = "shapeless",
- output = "dye:aqua 2",
+ output = "dye:spring 2",
recipe = {
"dye:cyan",
"dye:green",
@@ -583,16 +688,9 @@ minetest.register_craft( {
-- Sky blue
-minetest.register_craftitem(":dye:skyblue", {
- description = S("Sky-blue Dye"),
- inventory_image = "unifieddyes_skyblue.png",
- groups = { dye=1, excolor_sky_blue=1, unicolor_sky_blue=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
-})
-
minetest.register_craft( {
type = "shapeless",
- output = "dye:skyblue 2",
+ output = "dye:azure 2",
recipe = {
"dye:cyan",
"dye:blue",
@@ -601,16 +699,9 @@ minetest.register_craft( {
-- Red-violet
-minetest.register_craftitem(":dye:redviolet", {
- description = S("Red-violet Dye"),
- inventory_image = "unifieddyes_redviolet.png",
- groups = { dye=1, excolor_red_violet=1, unicolor_red_violet=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
-})
-
minetest.register_craft( {
type = "shapeless",
- output = "dye:redviolet 2",
+ output = "dye:rose 2",
recipe = {
"dye:red",
"dye:magenta",
@@ -620,13 +711,6 @@ minetest.register_craft( {
-- Light grey
-minetest.register_craftitem(":dye:light_grey", {
- description = S("Light Grey Dye"),
- inventory_image = "unifieddyes_lightgrey.png",
- groups = { dye=1, excolor_lightgrey=1, unicolor_light_grey=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
-})
-
minetest.register_craft( {
type = "shapeless",
output = "dye:light_grey 2",
@@ -681,14 +765,7 @@ minetest.register_craft( {
})
-- =================================================================
-
--- 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").
-
+-- generate recipes
for i = 1, 12 do
@@ -803,66 +880,23 @@ for i = 1, 12 do
},
})
end
-
- minetest.register_craftitem("unifieddyes:dark_" .. hue .. "_s50", {
- description = S("Dark " .. hue2 .. " Dye (low saturation)"),
- inventory_image = "unifieddyes_dark_" .. hue .. "_s50.png",
- groups = { dye=1, ["unicolor_dark_"..hue.."_s50"]=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
- })
-
- if hue ~= "green" then
- minetest.register_craftitem("unifieddyes:dark_" .. hue, {
- description = S("Dark " .. hue2 .. " Dye"),
- inventory_image = "unifieddyes_dark_" .. hue .. ".png",
- groups = { dye=1, ["unicolor_dark_"..hue]=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
- })
- end
-
- minetest.register_craftitem("unifieddyes:medium_" .. hue .. "_s50", {
- description = S("Medium " .. hue2 .. " Dye (low saturation)"),
- inventory_image = "unifieddyes_medium_" .. hue .. "_s50.png",
- groups = { dye=1, ["unicolor_medium_"..hue.."_s50"]=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
- })
-
- minetest.register_craftitem("unifieddyes:medium_" .. hue, {
- description = S("Medium " .. hue2 .. " Dye"),
- inventory_image = "unifieddyes_medium_" .. hue .. ".png",
- groups = { dye=1, ["unicolor_medium_"..hue]=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
- })
-
- minetest.register_craftitem("unifieddyes:" .. hue .. "_s50", {
- description = S(hue2 .. " Dye (low saturation)"),
- inventory_image = "unifieddyes_" .. hue .. "_s50.png",
- groups = { dye=1, ["unicolor_"..hue.."_s50"]=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
- })
-
- if hue ~= "red" then
- minetest.register_craftitem("unifieddyes:light_" .. hue, {
- description = S("Light " .. hue2 .. " Dye"),
- inventory_image = "unifieddyes_light_" .. hue .. ".png",
- groups = { dye=1, ["unicolor_light_"..hue]=1, not_in_creative_inventory=1 },
- on_use = unifieddyes.on_use
- })
- end
- minetest.register_alias("unifieddyes:"..hue, "dye:"..hue)
- minetest.register_alias("unifieddyes:pigment_"..hue, "dye:"..hue)
end
minetest.register_alias("unifieddyes:light_red", "dye:pink")
minetest.register_alias("unifieddyes:dark_green", "dye:dark_green")
minetest.register_alias("unifieddyes:black", "dye:black")
minetest.register_alias("unifieddyes:darkgrey", "dye:dark_grey")
-minetest.register_alias("unifieddyes:dark_grey", "dye:dark_grey")
+minetest.register_alias("unifieddyes:dark_grey", "dye:dark_grey")
minetest.register_alias("unifieddyes:grey", "dye:grey")
minetest.register_alias("unifieddyes:lightgrey", "dye:light_grey")
-minetest.register_alias("unifieddyes:light_grey", "dye:light_grey")
+minetest.register_alias("unifieddyes:light_grey", "dye:light_grey")
minetest.register_alias("unifieddyes:white", "dye:white")
+minetest.register_alias("unifieddyes:grey_0", "dye:black")
+minetest.register_alias("unifieddyes:grey_4", "dye:dark_grey")
+minetest.register_alias("unifieddyes:grey_7", "dye:grey")
+minetest.register_alias("unifieddyes:grey_15", "dye:white")
+
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")
@@ -870,5 +904,13 @@ 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")
+-- aqua -> spring, skyblue -> azure, and redviolet -> rose aliases
+-- note that technically, lime should be aliased, but can't be (there IS
+-- lime in the new color table, it's just shifted up a bit)
+
+minetest.register_alias("unifieddyes:aqua", "unifieddyes:spring")
+minetest.register_alias("unifieddyes:skyblue", "unifieddyes:azure")
+minetest.register_alias("unifieddyes:redviolet", "unifieddyes:rose")
+
print(S("[UnifiedDyes] Loaded!"))
diff --git a/textures/unifieddyes_aqua.png b/textures/unifieddyes_aqua.png
deleted file mode 100644
index da73e21..0000000
--- a/textures/unifieddyes_aqua.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_aqua_s50.png b/textures/unifieddyes_aqua_s50.png
deleted file mode 100644
index d737e67..0000000
--- a/textures/unifieddyes_aqua_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_blue_s50.png b/textures/unifieddyes_blue_s50.png
deleted file mode 100644
index 33ab950..0000000
--- a/textures/unifieddyes_blue_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_cyan_s50.png b/textures/unifieddyes_cyan_s50.png
deleted file mode 100644
index 7f304b7..0000000
--- a/textures/unifieddyes_cyan_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_aqua.png b/textures/unifieddyes_dark_aqua.png
deleted file mode 100644
index 6a146ea..0000000
--- a/textures/unifieddyes_dark_aqua.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_aqua_s50.png b/textures/unifieddyes_dark_aqua_s50.png
deleted file mode 100644
index 5dbf4bd..0000000
--- a/textures/unifieddyes_dark_aqua_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_blue.png b/textures/unifieddyes_dark_blue.png
deleted file mode 100644
index 2a62a38..0000000
--- a/textures/unifieddyes_dark_blue.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_blue_s50.png b/textures/unifieddyes_dark_blue_s50.png
deleted file mode 100644
index 4eceeff..0000000
--- a/textures/unifieddyes_dark_blue_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_cyan.png b/textures/unifieddyes_dark_cyan.png
deleted file mode 100644
index 4cfbee4..0000000
--- a/textures/unifieddyes_dark_cyan.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_cyan_s50.png b/textures/unifieddyes_dark_cyan_s50.png
deleted file mode 100644
index 857c470..0000000
--- a/textures/unifieddyes_dark_cyan_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_green.png b/textures/unifieddyes_dark_green.png
deleted file mode 100644
index 19caa48..0000000
--- a/textures/unifieddyes_dark_green.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_green_s50.png b/textures/unifieddyes_dark_green_s50.png
deleted file mode 100644
index 686a49e..0000000
--- a/textures/unifieddyes_dark_green_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_lime.png b/textures/unifieddyes_dark_lime.png
deleted file mode 100644
index 927ddf8..0000000
--- a/textures/unifieddyes_dark_lime.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_lime_s50.png b/textures/unifieddyes_dark_lime_s50.png
deleted file mode 100644
index f274909..0000000
--- a/textures/unifieddyes_dark_lime_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_magenta.png b/textures/unifieddyes_dark_magenta.png
deleted file mode 100644
index 4f622b8..0000000
--- a/textures/unifieddyes_dark_magenta.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_magenta_s50.png b/textures/unifieddyes_dark_magenta_s50.png
deleted file mode 100644
index 1c461dc..0000000
--- a/textures/unifieddyes_dark_magenta_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_orange.png b/textures/unifieddyes_dark_orange.png
deleted file mode 100644
index 10bfdd2..0000000
--- a/textures/unifieddyes_dark_orange.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_orange_s50.png b/textures/unifieddyes_dark_orange_s50.png
deleted file mode 100644
index 2a794de..0000000
--- a/textures/unifieddyes_dark_orange_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_red.png b/textures/unifieddyes_dark_red.png
deleted file mode 100644
index 504c359..0000000
--- a/textures/unifieddyes_dark_red.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_red_s50.png b/textures/unifieddyes_dark_red_s50.png
deleted file mode 100644
index 4e7f01b..0000000
--- a/textures/unifieddyes_dark_red_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_redviolet.png b/textures/unifieddyes_dark_redviolet.png
deleted file mode 100644
index 79f1b15..0000000
--- a/textures/unifieddyes_dark_redviolet.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_redviolet_s50.png b/textures/unifieddyes_dark_redviolet_s50.png
deleted file mode 100644
index 889329e..0000000
--- a/textures/unifieddyes_dark_redviolet_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_skyblue.png b/textures/unifieddyes_dark_skyblue.png
deleted file mode 100644
index dc6e928..0000000
--- a/textures/unifieddyes_dark_skyblue.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_skyblue_s50.png b/textures/unifieddyes_dark_skyblue_s50.png
deleted file mode 100644
index ac32c49..0000000
--- a/textures/unifieddyes_dark_skyblue_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_violet.png b/textures/unifieddyes_dark_violet.png
deleted file mode 100644
index b093fd0..0000000
--- a/textures/unifieddyes_dark_violet.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_violet_s50.png b/textures/unifieddyes_dark_violet_s50.png
deleted file mode 100644
index c507491..0000000
--- a/textures/unifieddyes_dark_violet_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_yellow.png b/textures/unifieddyes_dark_yellow.png
deleted file mode 100644
index 7bb6225..0000000
--- a/textures/unifieddyes_dark_yellow.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dark_yellow_s50.png b/textures/unifieddyes_dark_yellow_s50.png
deleted file mode 100644
index c391292..0000000
--- a/textures/unifieddyes_dark_yellow_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_darkgrey.png b/textures/unifieddyes_darkgrey.png
deleted file mode 100644
index 61b13d0..0000000
--- a/textures/unifieddyes_darkgrey.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_dye.png b/textures/unifieddyes_dye.png
new file mode 100644
index 0000000..ee792e5
--- /dev/null
+++ b/textures/unifieddyes_dye.png
Binary files differ
diff --git a/textures/unifieddyes_green_s50.png b/textures/unifieddyes_green_s50.png
deleted file mode 100644
index 8f8fb73..0000000
--- a/textures/unifieddyes_green_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_aqua.png b/textures/unifieddyes_light_aqua.png
deleted file mode 100644
index 80458e2..0000000
--- a/textures/unifieddyes_light_aqua.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_blue.png b/textures/unifieddyes_light_blue.png
deleted file mode 100644
index 19f001d..0000000
--- a/textures/unifieddyes_light_blue.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_cyan.png b/textures/unifieddyes_light_cyan.png
deleted file mode 100644
index 1ff5580..0000000
--- a/textures/unifieddyes_light_cyan.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_green.png b/textures/unifieddyes_light_green.png
deleted file mode 100644
index e549c6f..0000000
--- a/textures/unifieddyes_light_green.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_lime.png b/textures/unifieddyes_light_lime.png
deleted file mode 100644
index e5d797e..0000000
--- a/textures/unifieddyes_light_lime.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_magenta.png b/textures/unifieddyes_light_magenta.png
deleted file mode 100644
index 08bed5b..0000000
--- a/textures/unifieddyes_light_magenta.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_orange.png b/textures/unifieddyes_light_orange.png
deleted file mode 100644
index b92b000..0000000
--- a/textures/unifieddyes_light_orange.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_red.png b/textures/unifieddyes_light_red.png
deleted file mode 100644
index ecc8bd8..0000000
--- a/textures/unifieddyes_light_red.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_redviolet.png b/textures/unifieddyes_light_redviolet.png
deleted file mode 100644
index 2e01d6f..0000000
--- a/textures/unifieddyes_light_redviolet.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_skyblue.png b/textures/unifieddyes_light_skyblue.png
deleted file mode 100644
index 9fc1a44..0000000
--- a/textures/unifieddyes_light_skyblue.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_violet.png b/textures/unifieddyes_light_violet.png
deleted file mode 100644
index 41d45fa..0000000
--- a/textures/unifieddyes_light_violet.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_light_yellow.png b/textures/unifieddyes_light_yellow.png
deleted file mode 100644
index ed140d1..0000000
--- a/textures/unifieddyes_light_yellow.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_lightgrey.png b/textures/unifieddyes_lightgrey.png
deleted file mode 100644
index 97ab01f..0000000
--- a/textures/unifieddyes_lightgrey.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_lime.png b/textures/unifieddyes_lime.png
deleted file mode 100644
index 5e6d5bf..0000000
--- a/textures/unifieddyes_lime.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_lime_s50.png b/textures/unifieddyes_lime_s50.png
deleted file mode 100644
index d02762e..0000000
--- a/textures/unifieddyes_lime_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_magenta_s50.png b/textures/unifieddyes_magenta_s50.png
deleted file mode 100644
index aaf9d51..0000000
--- a/textures/unifieddyes_magenta_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_aqua.png b/textures/unifieddyes_medium_aqua.png
deleted file mode 100644
index 3659c18..0000000
--- a/textures/unifieddyes_medium_aqua.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_aqua_s50.png b/textures/unifieddyes_medium_aqua_s50.png
deleted file mode 100644
index fcd8869..0000000
--- a/textures/unifieddyes_medium_aqua_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_blue.png b/textures/unifieddyes_medium_blue.png
deleted file mode 100644
index 4da240d..0000000
--- a/textures/unifieddyes_medium_blue.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_blue_s50.png b/textures/unifieddyes_medium_blue_s50.png
deleted file mode 100644
index bd6e0f9..0000000
--- a/textures/unifieddyes_medium_blue_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_cyan.png b/textures/unifieddyes_medium_cyan.png
deleted file mode 100644
index e8015f6..0000000
--- a/textures/unifieddyes_medium_cyan.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_cyan_s50.png b/textures/unifieddyes_medium_cyan_s50.png
deleted file mode 100644
index de14506..0000000
--- a/textures/unifieddyes_medium_cyan_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_green.png b/textures/unifieddyes_medium_green.png
deleted file mode 100644
index ecc5f06..0000000
--- a/textures/unifieddyes_medium_green.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_green_s50.png b/textures/unifieddyes_medium_green_s50.png
deleted file mode 100644
index c9681b3..0000000
--- a/textures/unifieddyes_medium_green_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_lime.png b/textures/unifieddyes_medium_lime.png
deleted file mode 100644
index 2060bac..0000000
--- a/textures/unifieddyes_medium_lime.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_lime_s50.png b/textures/unifieddyes_medium_lime_s50.png
deleted file mode 100644
index 6eadc25..0000000
--- a/textures/unifieddyes_medium_lime_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_magenta.png b/textures/unifieddyes_medium_magenta.png
deleted file mode 100644
index 0f6144d..0000000
--- a/textures/unifieddyes_medium_magenta.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_magenta_s50.png b/textures/unifieddyes_medium_magenta_s50.png
deleted file mode 100644
index d5ca0dd..0000000
--- a/textures/unifieddyes_medium_magenta_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_orange.png b/textures/unifieddyes_medium_orange.png
deleted file mode 100644
index d131b9c..0000000
--- a/textures/unifieddyes_medium_orange.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_orange_s50.png b/textures/unifieddyes_medium_orange_s50.png
deleted file mode 100644
index 7e08bcf..0000000
--- a/textures/unifieddyes_medium_orange_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_red.png b/textures/unifieddyes_medium_red.png
deleted file mode 100644
index 28bc56d..0000000
--- a/textures/unifieddyes_medium_red.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_red_s50.png b/textures/unifieddyes_medium_red_s50.png
deleted file mode 100644
index 0eef916..0000000
--- a/textures/unifieddyes_medium_red_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_redviolet.png b/textures/unifieddyes_medium_redviolet.png
deleted file mode 100644
index 1143e27..0000000
--- a/textures/unifieddyes_medium_redviolet.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_redviolet_s50.png b/textures/unifieddyes_medium_redviolet_s50.png
deleted file mode 100644
index a314935..0000000
--- a/textures/unifieddyes_medium_redviolet_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_skyblue.png b/textures/unifieddyes_medium_skyblue.png
deleted file mode 100644
index f1e935f..0000000
--- a/textures/unifieddyes_medium_skyblue.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_skyblue_s50.png b/textures/unifieddyes_medium_skyblue_s50.png
deleted file mode 100644
index bd2423e..0000000
--- a/textures/unifieddyes_medium_skyblue_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_violet.png b/textures/unifieddyes_medium_violet.png
deleted file mode 100644
index dd8b5fa..0000000
--- a/textures/unifieddyes_medium_violet.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_violet_s50.png b/textures/unifieddyes_medium_violet_s50.png
deleted file mode 100644
index 4b6de6a..0000000
--- a/textures/unifieddyes_medium_violet_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_yellow.png b/textures/unifieddyes_medium_yellow.png
deleted file mode 100644
index 578f5b9..0000000
--- a/textures/unifieddyes_medium_yellow.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_medium_yellow_s50.png b/textures/unifieddyes_medium_yellow_s50.png
deleted file mode 100644
index ce141da..0000000
--- a/textures/unifieddyes_medium_yellow_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_orange_s50.png b/textures/unifieddyes_orange_s50.png
deleted file mode 100644
index fe62b73..0000000
--- a/textures/unifieddyes_orange_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_red_s50.png b/textures/unifieddyes_red_s50.png
deleted file mode 100644
index 6aef4c6..0000000
--- a/textures/unifieddyes_red_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_redviolet.png b/textures/unifieddyes_redviolet.png
deleted file mode 100644
index 2cb0692..0000000
--- a/textures/unifieddyes_redviolet.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_redviolet_s50.png b/textures/unifieddyes_redviolet_s50.png
deleted file mode 100644
index a438d9d..0000000
--- a/textures/unifieddyes_redviolet_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_skyblue.png b/textures/unifieddyes_skyblue.png
deleted file mode 100644
index 85aa3c5..0000000
--- a/textures/unifieddyes_skyblue.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_skyblue_s50.png b/textures/unifieddyes_skyblue_s50.png
deleted file mode 100644
index 1d6834b..0000000
--- a/textures/unifieddyes_skyblue_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_violet_s50.png b/textures/unifieddyes_violet_s50.png
deleted file mode 100644
index 620e42c..0000000
--- a/textures/unifieddyes_violet_s50.png
+++ /dev/null
Binary files differ
diff --git a/textures/unifieddyes_yellow_s50.png b/textures/unifieddyes_yellow_s50.png
deleted file mode 100644
index a3b5f0b..0000000
--- a/textures/unifieddyes_yellow_s50.png
+++ /dev/null
Binary files differ