From 84819bf9f5164ab208b7be1e94d142906359a1af Mon Sep 17 00:00:00 2001
From: AFCMS <afcm.contact@gmail.com>
Date: Tue, 30 Mar 2021 00:01:29 +0200
Subject: [PATCH] MAKE EVERY SINGLE MOD USE PROPER COLORS!!!

---
 mods/ENTITIES/mobs_mc/1_items_default.lua     |  2 +-
 mods/ENTITIES/mobs_mc/mod.conf                |  2 +-
 mods/ENTITIES/mobs_mc/villager.lua            |  2 +-
 mods/HELP/doc/doc/init.lua                    | 18 ++++++-----------
 mods/HELP/doc/doc/mod.conf                    |  1 +
 mods/HELP/mcl_craftguide/init.lua             |  8 ++++----
 mods/HELP/mcl_craftguide/mod.conf             |  2 +-
 mods/HELP/mcl_tt/mod.conf                     |  2 +-
 mods/HELP/mcl_tt/snippets_mcl.lua             |  2 +-
 mods/HELP/tt/init.lua                         |  8 ++++----
 mods/HELP/tt/mod.conf                         |  1 +
 mods/HUD/awards/api.lua                       |  6 +++---
 mods/HUD/awards/mod.conf                      |  1 +
 mods/HUD/mcl_inventory/creative.lua           |  2 +-
 mods/HUD/mcl_inventory/init.lua               |  4 ++--
 mods/HUD/mcl_inventory/mod.conf               |  2 +-
 mods/ITEMS/REDSTONE/mcl_dispensers/init.lua   |  4 ++--
 mods/ITEMS/REDSTONE/mcl_dispensers/mod.conf   |  2 +-
 mods/ITEMS/REDSTONE/mcl_droppers/init.lua     |  4 ++--
 mods/ITEMS/REDSTONE/mcl_droppers/init_new.lua |  4 ++--
 mods/ITEMS/REDSTONE/mcl_droppers/mod.conf     |  2 +-
 mods/ITEMS/mcl_anvils/init.lua                |  4 ++--
 mods/ITEMS/mcl_anvils/mod.conf                |  2 +-
 mods/ITEMS/mcl_banners/mod.conf               |  1 +
 mods/ITEMS/mcl_banners/patterncraft.lua       |  2 +-
 mods/ITEMS/mcl_brewing/init.lua               |  8 ++++----
 mods/ITEMS/mcl_brewing/mod.conf               |  2 +-
 mods/ITEMS/mcl_chests/init.lua                | 20 +++++++++----------
 mods/ITEMS/mcl_chests/mod.conf                |  2 +-
 mods/ITEMS/mcl_core/mod.conf                  |  2 +-
 mods/ITEMS/mcl_core/nodes_cactuscane.lua      |  2 +-
 mods/ITEMS/mcl_core/nodes_misc.lua            |  4 ++--
 mods/ITEMS/mcl_crafting_table/init.lua        |  4 ++--
 mods/ITEMS/mcl_crafting_table/mod.conf        |  3 +--
 mods/ITEMS/mcl_enchanting/engine.lua          | 10 +++++-----
 mods/ITEMS/mcl_enchanting/mod.conf            |  2 +-
 mods/ITEMS/mcl_farming/mod.conf               |  2 +-
 mods/ITEMS/mcl_farming/potatoes.lua           |  2 +-
 mods/ITEMS/mcl_furnaces/init.lua              |  8 ++++----
 mods/ITEMS/mcl_furnaces/mod.conf              |  2 +-
 mods/ITEMS/mcl_hoppers/init.lua               |  4 ++--
 mods/ITEMS/mcl_hoppers/mod.conf               |  2 +-
 mods/ITEMS/mcl_mobitems/init.lua              |  8 ++++----
 mods/ITEMS/mcl_mobitems/mod.conf              |  2 +-
 mods/ITEMS/mcl_nether/init.lua                |  2 +-
 mods/ITEMS/mcl_nether/mod.conf                |  2 +-
 46 files changed, 89 insertions(+), 92 deletions(-)

diff --git a/mods/ENTITIES/mobs_mc/1_items_default.lua b/mods/ENTITIES/mobs_mc/1_items_default.lua
index ddcc290c7..b4abd4f9c 100644
--- a/mods/ENTITIES/mobs_mc/1_items_default.lua
+++ b/mods/ENTITIES/mobs_mc/1_items_default.lua
@@ -521,7 +521,7 @@ if c("totem") then
 	-- Totem of Undying
 	minetest.register_craftitem("mobs_mc:totem", {
 		description = S("Totem of Undying"),
-		_tt_help = minetest.colorize("#00FF00", S("Protects you from death while wielding it")),
+		_tt_help = minetest.colorize(mcl_colors.GREEN, S("Protects you from death while wielding it")),
 		_doc_items_longdesc = S("A totem of undying is a rare artifact which may safe you from certain death."),
 		_doc_items_usagehelp = S("The totem only works while you hold it in your hand. If you receive fatal damage, you are saved from death and you get a second chance with 1 HP. The totem is destroyed in the process, however."),
 		inventory_image = "mcl_totems_totem.png",
diff --git a/mods/ENTITIES/mobs_mc/mod.conf b/mods/ENTITIES/mobs_mc/mod.conf
index 98f48b388..a3057faff 100644
--- a/mods/ENTITIES/mobs_mc/mod.conf
+++ b/mods/ENTITIES/mobs_mc/mod.conf
@@ -1,6 +1,6 @@
 name = mobs_mc
 author = maikerumine
 description = Adds Minecraft-like monsters and animals.
-depends = mcl_init, mcl_particles, mcl_mobs, mcl_wip
+depends = mcl_init, mcl_particles, mcl_mobs, mcl_wip, mcl_colors
 optional_depends = default, mcl_tnt, mcl_bows, mcl_throwing, mcl_fishing, bones, mesecons_materials, mobs_mc_gameconfig, doc_items
 
diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua
index 9429a691b..68644266f 100644
--- a/mods/ENTITIES/mobs_mc/villager.lua
+++ b/mods/ENTITIES/mobs_mc/villager.lua
@@ -516,7 +516,7 @@ local function show_trade_formspec(playername, trader, tradenum)
 	"size[9,8.75]"
 	.."background[-0.19,-0.25;9.41,9.49;mobs_mc_trading_formspec_bg.png]"
 	..disabled_img
-	.."label[4,0;"..F(minetest.colorize("#313131", S(profession))).."]"
+	.."label[4,0;"..F(minetest.colorize(mcl_colors.DARK_GRAY, S(profession))).."]"
 	.."list[current_player;main;0,4.5;9,3;9]"
 	.."list[current_player;main;0,7.74;9,1;]"
 	..b_prev..b_next
diff --git a/mods/HELP/doc/doc/init.lua b/mods/HELP/doc/doc/init.lua
index 360cc149c..9057cda8e 100644
--- a/mods/HELP/doc/doc/init.lua
+++ b/mods/HELP/doc/doc/init.lua
@@ -1,13 +1,7 @@
 local S = minetest.get_translator("doc")
 local F = function(f) return minetest.formspec_escape(S(f)) end
 
--- Compability for 0.4.14 or earlier
-local colorize
-if minetest.colorize then
-	colorize = minetest.colorize
-else
-	colorize = function(color, text) return text end
-end
+local colorize = minetest.colorize
 
 doc = {}
 
@@ -41,10 +35,10 @@ doc.FORMSPEC.ENTRY_HEIGHT = doc.FORMSPEC.ENTRY_END_Y - doc.FORMSPEC.ENTRY_START_
 -- Internal helper variables
 local DOC_INTRO = S("This is the help.")
 
-local COLOR_NOT_VIEWED = "#00FFFF"	-- cyan
-local COLOR_VIEWED = "#FFFFFF"		-- white
-local COLOR_HIDDEN = "#999999"		-- gray
-local COLOR_ERROR = "#FF0000"		-- red
+local COLOR_NOT_VIEWED = mcl_colors.AQUA
+local COLOR_VIEWED =     mcl_colors.WHITE
+local COLOR_HIDDEN =     mcl_colors.GRAY
+local COLOR_ERROR =      mcl_colors.RED
 
 local CATEGORYFIELDSIZE = {
 	WIDTH = math.ceil(doc.FORMSPEC.WIDTH / 4),
@@ -776,7 +770,7 @@ function doc.generate_entry_list(cid, playername)
 				if name == nil or name == "" then
 					name = S("Nameless entry (@1)", eid)
 					if doc.entry_viewed(playername, cid, eid) then
-						viewedprefix = "#FF4444"
+						viewedprefix = mcl_colors.RED
 					else
 						viewedprefix = COLOR_ERROR
 					end
diff --git a/mods/HELP/doc/doc/mod.conf b/mods/HELP/doc/doc/mod.conf
index 0f65ddff7..54064551b 100644
--- a/mods/HELP/doc/doc/mod.conf
+++ b/mods/HELP/doc/doc/mod.conf
@@ -2,3 +2,4 @@ name = doc
 author = Wuzzy
 description = A simple in-game documentation system which enables mods to add help entries based on templates.
 optional_depends = unified_inventory, sfinv_buttons, central_message, inventory_plus
+depends = mcl_colors
diff --git a/mods/HELP/mcl_craftguide/init.lua b/mods/HELP/mcl_craftguide/init.lua
index eb98bcce0..829fc4181 100644
--- a/mods/HELP/mcl_craftguide/init.lua
+++ b/mods/HELP/mcl_craftguide/init.lua
@@ -410,7 +410,7 @@ local function get_tooltip(item, groups, cooktime, burntime)
 	local tooltip
 
 	if groups then
-		local gcol = "#FFAAFF"
+		local gcol = mcl_colors.LIGHT_PURPLE
 		if #groups == 1 then
 			local g = group_names[groups[1]]
 			local groupstr
@@ -446,12 +446,12 @@ local function get_tooltip(item, groups, cooktime, burntime)
 
 	if not groups and cooktime then
 		tooltip = tooltip .. "\n" ..
-			S("Cooking time: @1", colorize("yellow", cooktime))
+			S("Cooking time: @1", colorize(mcl_colors.YELLOW, cooktime))
 	end
 
 	if not groups and burntime then
 		tooltip = tooltip .. "\n" ..
-			S("Burning time: @1", colorize("yellow", burntime))
+			S("Burning time: @1", colorize(mcl_colors.YELLOW, burntime))
 	end
 
 	return fmt(FMT.tooltip, item, ESC(tooltip))
@@ -668,7 +668,7 @@ local function make_formspec(name)
 	fs[#fs + 1] = fmt("label[%f,%f;%s]",
 		sfinv_only and 6.3 or data.iX - 2.2,
 		0.22,
-		ESC(colorize("#383838", fmt("%s / %u", data.pagenum, data.pagemax))))
+		ESC(colorize(mcl_colors.DARK_GRAY, fmt("%s / %u", data.pagenum, data.pagemax))))
 
 	fs[#fs + 1] = fmt([[
 		image_button[%f,0.12;0.8,0.8;craftguide_prev_icon.png;prev;]
diff --git a/mods/HELP/mcl_craftguide/mod.conf b/mods/HELP/mcl_craftguide/mod.conf
index b7ab8882c..ce99c0e32 100644
--- a/mods/HELP/mcl_craftguide/mod.conf
+++ b/mods/HELP/mcl_craftguide/mod.conf
@@ -1,5 +1,5 @@
 name = mcl_craftguide
 author = kilbith
 description = The most comprehensive Crafting Guide on Minetest.
-depends = mcl_core, mcl_compass, mcl_clock, doc
+depends = mcl_core, mcl_compass, mcl_clock, doc, mcl_colors
 optional_depends = sfinv, sfinv_buttons
diff --git a/mods/HELP/mcl_tt/mod.conf b/mods/HELP/mcl_tt/mod.conf
index 3a33b70dc..e442e1320 100644
--- a/mods/HELP/mcl_tt/mod.conf
+++ b/mods/HELP/mcl_tt/mod.conf
@@ -1,4 +1,4 @@
 name = mcl_tt
 author = Wuzzy
 description = Add MCL2 tooltips
-depends = tt, mcl_enchanting
+depends = tt, mcl_enchanting, mcl_colors
diff --git a/mods/HELP/mcl_tt/snippets_mcl.lua b/mods/HELP/mcl_tt/snippets_mcl.lua
index 6e2803502..3d13df751 100644
--- a/mods/HELP/mcl_tt/snippets_mcl.lua
+++ b/mods/HELP/mcl_tt/snippets_mcl.lua
@@ -77,7 +77,7 @@ end)
 tt.register_snippet(function(itemstring)
 	local def = minetest.registered_items[itemstring]
 	if minetest.get_item_group(itemstring, "crush_after_fall") == 1 then
-		return S("Deals damage when falling"), "#FFFF00"
+		return S("Deals damage when falling"), mcl_colors.YELLOW
 	end
 end)
 
diff --git a/mods/HELP/tt/init.lua b/mods/HELP/tt/init.lua
index 88dbc7165..afc421e4f 100644
--- a/mods/HELP/tt/init.lua
+++ b/mods/HELP/tt/init.lua
@@ -1,8 +1,8 @@
 tt = {}
-tt.COLOR_DEFAULT = "#d0ffd0"
-tt.COLOR_DANGER = "#ffff00"
-tt.COLOR_GOOD = "#00ff00"
-tt.NAME_COLOR = "#FFFF4C"
+tt.COLOR_DEFAULT = mcl_colors.GREEN
+tt.COLOR_DANGER = mcl_colors.YELLOW
+tt.COLOR_GOOD = mcl_colors.GREEN
+tt.NAME_COLOR = mcl_colors.YELLOW
 
 -- API
 tt.registered_snippets = {}
diff --git a/mods/HELP/tt/mod.conf b/mods/HELP/tt/mod.conf
index 23ce15369..2a260772d 100644
--- a/mods/HELP/tt/mod.conf
+++ b/mods/HELP/tt/mod.conf
@@ -1,3 +1,4 @@
 name = tt
 author = Wuzzy
 description = Support for custom tooltip extensions for items
+depends = mcl_colors
diff --git a/mods/HUD/awards/api.lua b/mods/HUD/awards/api.lua
index 9b0261b65..6601dd626 100644
--- a/mods/HUD/awards/api.lua
+++ b/mods/HUD/awards/api.lua
@@ -214,7 +214,7 @@ function awards.unlock(name, award)
 
 	-- Get award
 	minetest.log("action", name.." has gotten award "..award)
-	minetest.chat_send_all(S("@1 has made the achievement @2", name, minetest.colorize("#51EF4E", "[" .. (awdef.title or award) .. "]")))
+	minetest.chat_send_all(S("@1 has made the achievement @2", name, minetest.colorize(mcl_colors.GREEN, "[" .. (awdef.title or award) .. "]")))
 	data.unlocked[award] = award
 	awards.save()
 
@@ -447,7 +447,7 @@ function awards.getFormspec(name, to, sid)
 			first = false
 
 			if def.secret and not award.got then
-				formspec = formspec .. "#707070"..minetest.formspec_escape(S("(Secret Award)"))
+				formspec = formspec .. mcl_colors.DARK_GRAY..minetest.formspec_escape(S("(Secret Award)"))
 			else
 				local title = award.name
 				if def and def.title then
@@ -456,7 +456,7 @@ function awards.getFormspec(name, to, sid)
 				if award.got then
 					formspec = formspec .. minetest.formspec_escape(title)
 				else
-					formspec = formspec .. "#ACACAC".. minetest.formspec_escape(title)
+					formspec = formspec .. mcl_colors.GRAY.. minetest.formspec_escape(title)
 				end
 			end
 		end
diff --git a/mods/HUD/awards/mod.conf b/mods/HUD/awards/mod.conf
index 8b1534692..1657323e2 100644
--- a/mods/HUD/awards/mod.conf
+++ b/mods/HUD/awards/mod.conf
@@ -6,3 +6,4 @@ license = LGPL 2.1 or later
 forum = https://forum.minetest.net/viewtopic.php?t=4870
 version = 2.3.0
 optional_depends = sfinv, unified_inventory
+depends = mcl_colors
diff --git a/mods/HUD/mcl_inventory/creative.lua b/mods/HUD/mcl_inventory/creative.lua
index b3ee40bf7..a69fcef5b 100644
--- a/mods/HUD/mcl_inventory/creative.lua
+++ b/mods/HUD/mcl_inventory/creative.lua
@@ -442,7 +442,7 @@ mcl_inventory.set_creative_formspec = function(player, start_i, pagenum, inv_siz
 		end
 		local caption = ""
 		if name ~= "inv" and filtername[name] then
-			caption = "label[0,1.2;"..F(minetest.colorize("#313131", filtername[name])).."]"
+			caption = "label[0,1.2;"..F(minetest.colorize(mcl_colors.DARK_GRAY, filtername[name])).."]"
 		end
 
 		formspec = "size[10,9.3]"..
diff --git a/mods/HUD/mcl_inventory/init.lua b/mods/HUD/mcl_inventory/init.lua
index 054424051..e9da9486e 100644
--- a/mods/HUD/mcl_inventory/init.lua
+++ b/mods/HUD/mcl_inventory/init.lua
@@ -109,10 +109,10 @@ local function set_inventory(player, armor_change_only)
 	mcl_formspec.get_itemslot_bg(0,3,1,1)..
 	armor_slot_imgs..
 	-- craft and inventory
-	"label[0,4;"..F(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4;"..F(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	"list[current_player;main;0,7.74;9,1;]"..
-	"label[4,0.5;"..F(minetest.colorize("#313131", S("Crafting"))).."]"..
+	"label[4,0.5;"..F(minetest.colorize(mcl_colors.DARK_GRAY, S("Crafting"))).."]"..
 	"list[current_player;craft;4,1;2,2]"..
 	"list[current_player;craftpreview;7,1.5;1,1;]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
diff --git a/mods/HUD/mcl_inventory/mod.conf b/mods/HUD/mcl_inventory/mod.conf
index fa6b2c2f4..edd6343c7 100644
--- a/mods/HUD/mcl_inventory/mod.conf
+++ b/mods/HUD/mcl_inventory/mod.conf
@@ -1,6 +1,6 @@
 name = mcl_inventory
 author = BlockMen
 description = Adds the player inventory and creative inventory.
-depends = mcl_init, mcl_formspec
+depends = mcl_init, mcl_formspec, mcl_colors
 optional_depends = mcl_player, _mcl_autogroup, mcl_armor, mcl_brewing, mcl_potions, mcl_enchanting
 
diff --git a/mods/ITEMS/REDSTONE/mcl_dispensers/init.lua b/mods/ITEMS/REDSTONE/mcl_dispensers/init.lua
index b6d0d2ef6..1fd63cb4d 100644
--- a/mods/ITEMS/REDSTONE/mcl_dispensers/init.lua
+++ b/mods/ITEMS/REDSTONE/mcl_dispensers/init.lua
@@ -13,12 +13,12 @@ local S = minetest.get_translator("mcl_dispensers")
 local setup_dispenser = function(pos)
 	-- Set formspec and inventory
 	local form = "size[9,8.75]"..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.74;9,1;]"..
 	mcl_formspec.get_itemslot_bg(0,7.74,9,1)..
-	"label[3,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Dispenser"))).."]"..
+	"label[3,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Dispenser"))).."]"..
 	"list[current_name;main;3,0.5;3,3;]"..
 	mcl_formspec.get_itemslot_bg(3,0.5,3,3)..
 	"listring[current_name;main]"..
diff --git a/mods/ITEMS/REDSTONE/mcl_dispensers/mod.conf b/mods/ITEMS/REDSTONE/mcl_dispensers/mod.conf
index 13cdb5f5a..ac1b56c7d 100644
--- a/mods/ITEMS/REDSTONE/mcl_dispensers/mod.conf
+++ b/mods/ITEMS/REDSTONE/mcl_dispensers/mod.conf
@@ -1,3 +1,3 @@
 name = mcl_dispensers
-depends = mcl_init, mcl_formspec, mesecons, mcl_sounds, mcl_tnt, mcl_worlds, mcl_core, mcl_nether, mcl_armor_stand, mcl_armor
+depends = mcl_init, mcl_formspec, mesecons, mcl_sounds, mcl_tnt, mcl_worlds, mcl_core, mcl_nether, mcl_armor_stand, mcl_armor, mcl_colors
 optional_depends = doc, screwdriver
diff --git a/mods/ITEMS/REDSTONE/mcl_droppers/init.lua b/mods/ITEMS/REDSTONE/mcl_droppers/init.lua
index 715a85f3d..0d41c3552 100644
--- a/mods/ITEMS/REDSTONE/mcl_droppers/init.lua
+++ b/mods/ITEMS/REDSTONE/mcl_droppers/init.lua
@@ -14,12 +14,12 @@ local S = minetest.get_translator("mcl_droppers")
 local setup_dropper = function(pos)
 	-- Set formspec and inventory
 	local form = "size[9,8.75]"..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.74;9,1;]"..
 	mcl_formspec.get_itemslot_bg(0,7.74,9,1)..
-	"label[3,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Dropper"))).."]"..
+	"label[3,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Dropper"))).."]"..
 	"list[current_name;main;3,0.5;3,3;]"..
 	mcl_formspec.get_itemslot_bg(3,0.5,3,3)..
 	"listring[current_name;main]"..
diff --git a/mods/ITEMS/REDSTONE/mcl_droppers/init_new.lua b/mods/ITEMS/REDSTONE/mcl_droppers/init_new.lua
index 1bf968a82..b41d9c2fe 100644
--- a/mods/ITEMS/REDSTONE/mcl_droppers/init_new.lua
+++ b/mods/ITEMS/REDSTONE/mcl_droppers/init_new.lua
@@ -15,10 +15,10 @@ local setup_dropper = function(pos)
 	-- Set formspec and inventory
 	local form = "size[9,8.75]"..
 	"background[-0.19,-0.25;9.41,9.49;crafting_inventory_9_slots.png]"..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	"list[current_player;main;0,7.74;9,1;]"..
-	"label[3,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Dropper"))).."]"..
+	"label[3,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Dropper"))).."]"..
 	"list[current_name;main;3,0.5;3,3;]"..
 	"listring[current_name;main]"..
 	"listring[current_player;main]"
diff --git a/mods/ITEMS/REDSTONE/mcl_droppers/mod.conf b/mods/ITEMS/REDSTONE/mcl_droppers/mod.conf
index bbb1c19f2..b5cf8f0b7 100644
--- a/mods/ITEMS/REDSTONE/mcl_droppers/mod.conf
+++ b/mods/ITEMS/REDSTONE/mcl_droppers/mod.conf
@@ -1,3 +1,3 @@
 name = mcl_droppers
-depends = mcl_init, mcl_formspec, mesecons, mcl_util
+depends = mcl_init, mcl_formspec, mesecons, mcl_util, mcl_colors
 optional_depends = doc, screwdriver
diff --git a/mods/ITEMS/mcl_anvils/init.lua b/mods/ITEMS/mcl_anvils/init.lua
index c3c238e7f..1845ed776 100644
--- a/mods/ITEMS/mcl_anvils/init.lua
+++ b/mods/ITEMS/mcl_anvils/init.lua
@@ -16,7 +16,7 @@ local function get_anvil_formspec(set_name)
 	end
 	return "size[9,8.75]"..
 	"background[-0.19,-0.25;9.41,9.49;mcl_anvils_inventory.png]"..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.74;9,1;]"..
@@ -27,7 +27,7 @@ local function get_anvil_formspec(set_name)
 	mcl_formspec.get_itemslot_bg(4,2.5,1,1)..
 	"list[context;output;8,2.5;1,1;]"..
 	mcl_formspec.get_itemslot_bg(8,2.5,1,1)..
-	"label[3,0.1;"..minetest.formspec_escape(minetest.colorize("#313131", S("Repair and Name"))).."]"..
+	"label[3,0.1;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Repair and Name"))).."]"..
 	"field[3.25,1;4,1;name;;"..minetest.formspec_escape(set_name).."]"..
 	"field_close_on_enter[name;false]"..
 	"button[7,0.7;2,1;name_button;"..minetest.formspec_escape(S("Set Name")).."]"..
diff --git a/mods/ITEMS/mcl_anvils/mod.conf b/mods/ITEMS/mcl_anvils/mod.conf
index cd4fa02a8..cbb5dc223 100644
--- a/mods/ITEMS/mcl_anvils/mod.conf
+++ b/mods/ITEMS/mcl_anvils/mod.conf
@@ -1,5 +1,5 @@
 name = mcl_anvils
 author = Wuzzy
 description = Anvils mods for MCL2
-depends = mcl_init, mcl_formspec, mcl_sounds, tt, mcl_enchanting
+depends = mcl_init, mcl_formspec, mcl_sounds, tt, mcl_enchanting, mcl_colors
 optional_depends = mcl_core, screwdriver
diff --git a/mods/ITEMS/mcl_banners/mod.conf b/mods/ITEMS/mcl_banners/mod.conf
index cee7bace7..8c3117206 100644
--- a/mods/ITEMS/mcl_banners/mod.conf
+++ b/mods/ITEMS/mcl_banners/mod.conf
@@ -1,4 +1,5 @@
 name = mcl_banners
 author = 22i
 description = Adds decorative banners in different colors which can be emblazoned with patterns, offering a countless number of combinations.
+depends = mcl_colors
 optional_depends = mcl_sounds, mcl_core, mcl_wool, mcl_cauldrons, doc, screwdriver
diff --git a/mods/ITEMS/mcl_banners/patterncraft.lua b/mods/ITEMS/mcl_banners/patterncraft.lua
index e1f05ff11..31782a42b 100644
--- a/mods/ITEMS/mcl_banners/patterncraft.lua
+++ b/mods/ITEMS/mcl_banners/patterncraft.lua
@@ -281,7 +281,7 @@ mcl_banners.make_advanced_banner_description = function(description, layers)
 
 		-- Final string concatenations: Just a list of strings
 		local append = table.concat(layerstrings, "\n")
-		description = description .. "\n" .. minetest.colorize("#8F8F8F", append)
+		description = description .. "\n" .. minetest.colorize(mcl_colors.GRAY, append)
 		return description
 	end
 end
diff --git a/mods/ITEMS/mcl_brewing/init.lua b/mods/ITEMS/mcl_brewing/init.lua
index 617929ff7..78ccd8ed9 100644
--- a/mods/ITEMS/mcl_brewing/init.lua
+++ b/mods/ITEMS/mcl_brewing/init.lua
@@ -4,8 +4,8 @@ local function active_brewing_formspec(fuel_percent, brew_percent)
 
 	return "size[9,8.75]"..
 	"background[-0.19,-0.25;9.5,9.5;mcl_brewing_inventory.png]"..
-	"label[4,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Brewing Stand"))).."]"..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[4,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Brewing Stand"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.75;9,1;]"..
@@ -35,8 +35,8 @@ end
 
 local brewing_formspec = "size[9,8.75]"..
 	"background[-0.19,-0.25;9.5,9.5;mcl_brewing_inventory.png]"..
-	"label[4,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Brewing Stand"))).."]"..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[4,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Brewing Stand"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.75;9,1;]"..
diff --git a/mods/ITEMS/mcl_brewing/mod.conf b/mods/ITEMS/mcl_brewing/mod.conf
index 2c27c979e..160319c93 100644
--- a/mods/ITEMS/mcl_brewing/mod.conf
+++ b/mods/ITEMS/mcl_brewing/mod.conf
@@ -1,4 +1,4 @@
 name = mcl_brewing
 author = bzoss
-depends = mcl_init, mcl_formspec, mcl_sounds, mcl_potions, mcl_mobitems
+depends = mcl_init, mcl_formspec, mcl_sounds, mcl_potions, mcl_mobitems, mcl_colors
 optional_depends = mcl_core, doc, screwdriver
diff --git a/mods/ITEMS/mcl_chests/init.lua b/mods/ITEMS/mcl_chests/init.lua
index fb8c59f28..1f3f518a4 100644
--- a/mods/ITEMS/mcl_chests/init.lua
+++ b/mods/ITEMS/mcl_chests/init.lua
@@ -475,10 +475,10 @@ minetest.register_node(small_name, {
 		minetest.show_formspec(clicker:get_player_name(),
 		"mcl_chests:"..canonical_basename.."_"..pos.x.."_"..pos.y.."_"..pos.z,
 		"size[9,8.75]"..
-		"label[0,0;"..minetest.formspec_escape(minetest.colorize("#313131", name)).."]"..
+		"label[0,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, name)).."]"..
 		"list[nodemeta:"..pos.x..","..pos.y..","..pos.z..";main;0,0.5;9,3;]"..
 		mcl_formspec.get_itemslot_bg(0,0.5,9,3)..
-		"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+		"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 		"list[current_player;main;0,4.5;9,3;9]"..
 		mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 		"list[current_player;main;0,7.74;9,1;]"..
@@ -624,12 +624,12 @@ minetest.register_node(left_name, {
 		minetest.show_formspec(clicker:get_player_name(),
 		"mcl_chests:"..canonical_basename.."_"..pos.x.."_"..pos.y.."_"..pos.z,
 		"size[9,11.5]"..
-		"label[0,0;"..minetest.formspec_escape(minetest.colorize("#313131", name)).."]"..
+		"label[0,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, name)).."]"..
 		"list[nodemeta:"..pos.x..","..pos.y..","..pos.z..";main;0,0.5;9,3;]"..
 		mcl_formspec.get_itemslot_bg(0,0.5,9,3)..
 		"list[nodemeta:"..pos_other.x..","..pos_other.y..","..pos_other.z..";main;0,3.5;9,3;]"..
 		mcl_formspec.get_itemslot_bg(0,3.5,9,3)..
-		"label[0,7;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+		"label[0,7;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 		"list[current_player;main;0,7.5;9,3;9]"..
 		mcl_formspec.get_itemslot_bg(0,7.5,9,3)..
 		"list[current_player;main;0,10.75;9,1;]"..
@@ -773,12 +773,12 @@ minetest.register_node("mcl_chests:"..basename.."_right", {
 		"mcl_chests:"..canonical_basename.."_"..pos.x.."_"..pos.y.."_"..pos.z,
 
 		"size[9,11.5]"..
-		"label[0,0;"..minetest.formspec_escape(minetest.colorize("#313131", name)).."]"..
+		"label[0,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, name)).."]"..
 		"list[nodemeta:"..pos_other.x..","..pos_other.y..","..pos_other.z..";main;0,0.5;9,3;]"..
 		mcl_formspec.get_itemslot_bg(0,0.5,9,3)..
 		"list[nodemeta:"..pos.x..","..pos.y..","..pos.z..";main;0,3.5;9,3;]"..
 		mcl_formspec.get_itemslot_bg(0,3.5,9,3)..
-		"label[0,7;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+		"label[0,7;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 		"list[current_player;main;0,7.5;9,3;9]"..
 		mcl_formspec.get_itemslot_bg(0,7.5,9,3)..
 		"list[current_player;main;0,10.75;9,1;]"..
@@ -986,10 +986,10 @@ minetest.register_node("mcl_chests:ender_chest", {
 })
 
 local formspec_ender_chest = "size[9,8.75]"..
-	"label[0,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Ender Chest"))).."]"..
+	"label[0,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Ender Chest"))).."]"..
 	"list[current_player;enderchest;0,0.5;9,3;]"..
 	mcl_formspec.get_itemslot_bg(0,0.5,9,3)..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.74;9,1;]"..
@@ -1104,10 +1104,10 @@ local function formspec_shulker_box(name)
 		name = S("Shulker Box")
 	end
 	return "size[9,8.75]"..
-	"label[0,0;"..minetest.formspec_escape(minetest.colorize("#313131", name)).."]"..
+	"label[0,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, name)).."]"..
 	"list[current_name;main;0,0.5;9,3;]"..
 	mcl_formspec.get_itemslot_bg(0,0.5,9,3)..
-	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4.0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.74;9,1;]"..
diff --git a/mods/ITEMS/mcl_chests/mod.conf b/mods/ITEMS/mcl_chests/mod.conf
index 0ff5129ca..609b1fff9 100644
--- a/mods/ITEMS/mcl_chests/mod.conf
+++ b/mods/ITEMS/mcl_chests/mod.conf
@@ -1,3 +1,3 @@
 name = mcl_chests
-depends = mcl_init, mcl_formspec, mcl_core, mcl_sounds, mcl_end, mesecons
+depends = mcl_init, mcl_formspec, mcl_core, mcl_sounds, mcl_end, mesecons, mcl_colors
 optional_depends = doc, screwdriver
diff --git a/mods/ITEMS/mcl_core/mod.conf b/mods/ITEMS/mcl_core/mod.conf
index e204ace84..45018df75 100644
--- a/mods/ITEMS/mcl_core/mod.conf
+++ b/mods/ITEMS/mcl_core/mod.conf
@@ -1,4 +1,4 @@
 name = mcl_core
 description = Core items of MineClone 2: Basic biome blocks (dirt, sand, stones, etc.), derived items, glass, sugar cane, cactus, barrier, mining tools, hand, craftitems, and misc. items which don't really fit anywhere else.
-depends = mcl_autogroup, mcl_init, mcl_sounds, mcl_particles, mcl_util, mcl_worlds, doc_items, mcl_enchanting
+depends = mcl_autogroup, mcl_init, mcl_sounds, mcl_particles, mcl_util, mcl_worlds, doc_items, mcl_enchanting, mcl_colors
 optional_depends = doc
diff --git a/mods/ITEMS/mcl_core/nodes_cactuscane.lua b/mods/ITEMS/mcl_core/nodes_cactuscane.lua
index d1bcac011..4ec005170 100644
--- a/mods/ITEMS/mcl_core/nodes_cactuscane.lua
+++ b/mods/ITEMS/mcl_core/nodes_cactuscane.lua
@@ -4,7 +4,7 @@ local S = minetest.get_translator("mcl_core")
 
 minetest.register_node("mcl_core:cactus", {
 	description = S("Cactus"),
-	_tt_help = S("Grows on sand").."\n"..minetest.colorize("#FFFF00", S("Contact damage: @1 per half second", 1)),
+	_tt_help = S("Grows on sand").."\n"..minetest.colorize(mcl_colors.YELLOW, S("Contact damage: @1 per half second", 1)),
 	_doc_items_longdesc = S("This is a piece of cactus commonly found in dry areas, especially deserts. Over time, cacti will grow up to 3 blocks high on sand or red sand. A cactus hurts living beings touching it with a damage of 1 HP every half second. When a cactus block is broken, all cactus blocks connected above it will break as well."),
 	_doc_items_usagehelp = S("A cactus can only be placed on top of another cactus or any sand."),
 	drawtype = "nodebox",
diff --git a/mods/ITEMS/mcl_core/nodes_misc.lua b/mods/ITEMS/mcl_core/nodes_misc.lua
index 083aa0b85..8b36f0696 100644
--- a/mods/ITEMS/mcl_core/nodes_misc.lua
+++ b/mods/ITEMS/mcl_core/nodes_misc.lua
@@ -236,7 +236,7 @@ minetest.register_node("mcl_core:realm_barrier", {
 	-- Prevent placement to protect player from screwing up the world, because the node is not pointable and hard to get rid of.
 	node_placement_prediction = "",
 	on_place = function(pos, placer, itemstack, pointed_thing)
-		minetest.chat_send_player(placer:get_player_name(), minetest.colorize("#FF0000", "You can't just place a realm barrier by hand!"))
+		minetest.chat_send_player(placer:get_player_name(), minetest.colorize(mcl_colors.RED, "You can't just place a realm barrier by hand!"))
 		return
 	end,
 })
@@ -266,7 +266,7 @@ minetest.register_node("mcl_core:void", {
 	-- Prevent placement to protect player from screwing up the world, because the node is not pointable and hard to get rid of.
 	node_placement_prediction = "",
 	on_place = function(pos, placer, itemstack, pointed_thing)
-		minetest.chat_send_player(placer:get_player_name(), minetest.colorize("#FF0000", "You can't just place the void by hand!"))
+		minetest.chat_send_player(placer:get_player_name(), minetest.colorize(mcl_colors.RED, "You can't just place the void by hand!"))
 		return
 	end,
 	drop = "",
diff --git a/mods/ITEMS/mcl_crafting_table/init.lua b/mods/ITEMS/mcl_crafting_table/init.lua
index 4ad581774..6df4c2544 100644
--- a/mods/ITEMS/mcl_crafting_table/init.lua
+++ b/mods/ITEMS/mcl_crafting_table/init.lua
@@ -2,7 +2,7 @@ local S = minetest.get_translator("mcl_crafting_table")
 local formspec_escape = minetest.formspec_escape
 local show_formspec = minetest.show_formspec
 local C = minetest.colorize
-local text_color = mcl_colors.BLACK or "#313131"
+local text_color = mcl_colors.DARK_GRAY
 local itemslot_bg = mcl_formspec.get_itemslot_bg
 
 mcl_crafting_table = {}
@@ -13,7 +13,7 @@ function mcl_crafting_table.show_crafting_form(player)
 	show_formspec(player:get_player_name(), "main",
 		"size[9,8.75]"..
 		"image[4.7,1.5;1.5,1;gui_crafting_arrow.png]"..
-		"label[0,4;"..formspec_escape(C(text_color, S("Inventory"))).."]".. --"#313131"
+		"label[0,4;"..formspec_escape(C(text_color, S("Inventory"))).."]"..
 		"list[current_player;main;0,4.5;9,3;9]"..
 		itemslot_bg(0,4.5,9,3)..
 		"list[current_player;main;0,7.74;9,1;]"..
diff --git a/mods/ITEMS/mcl_crafting_table/mod.conf b/mods/ITEMS/mcl_crafting_table/mod.conf
index 03b3174ab..149d1c982 100644
--- a/mods/ITEMS/mcl_crafting_table/mod.conf
+++ b/mods/ITEMS/mcl_crafting_table/mod.conf
@@ -1,4 +1,3 @@
 name = mcl_crafting_table
 description = Adds a crafting table.
-depends = mcl_init, mcl_formspec, mcl_sounds
-optional_depends = mcl_colors
+depends = mcl_init, mcl_formspec, mcl_sounds, mcl_colors
diff --git a/mods/ITEMS/mcl_enchanting/engine.lua b/mods/ITEMS/mcl_enchanting/engine.lua
index ce6e3543a..ea69d1868 100644
--- a/mods/ITEMS/mcl_enchanting/engine.lua
+++ b/mods/ITEMS/mcl_enchanting/engine.lua
@@ -52,7 +52,7 @@ function mcl_enchanting.get_enchantment_description(enchantment, level)
 end
 
 function mcl_enchanting.get_colorized_enchantment_description(enchantment, level)
-	return minetest.colorize(mcl_enchanting.enchantments[enchantment].curse and "#FC5454" or "#A8A8A8", mcl_enchanting.get_enchantment_description(enchantment, level))
+	return minetest.colorize(mcl_enchanting.enchantments[enchantment].curse and mcl_colors.RED or mcl_colors.GRAY, mcl_enchanting.get_enchantment_description(enchantment, level))
 end
 
 function mcl_enchanting.get_enchanted_itemstring(itemname)
@@ -468,13 +468,13 @@ function mcl_enchanting.show_enchanting_formspec(player)
 	local formspec = ""
 		.. "size[9.07,8.6;]"
 		.. "formspec_version[3]"
-		.. "label[0,0;" .. C("#313131") .. F(table_name) .. "]"
+		.. "label[0,0;" .. C(mcl_colors.DARK_GRAY) .. F(table_name) .. "]"
 		.. mcl_formspec.get_itemslot_bg(0.2, 2.4, 1, 1)
 		.. "list[current_player;enchanting_item;0.2,2.4;1,1]"
 		.. mcl_formspec.get_itemslot_bg(1.1, 2.4, 1, 1)
 		.. "image[1.1,2.4;1,1;mcl_enchanting_lapis_background.png]"
 		.. "list[current_player;enchanting_lapis;1.1,2.4;1,1]"
-		.. "label[0,4;" .. C("#313131") .. F(S("Inventory")).."]"
+		.. "label[0,4;" .. C(mcl_colors.DARK_GRAY) .. F(S("Inventory")).."]"
 		.. mcl_formspec.get_itemslot_bg(0, 4.5, 9, 3)
 		.. mcl_formspec.get_itemslot_bg(0, 7.74, 9, 1)
 		.. "list[current_player;main;0,4.5;9,3;9]"
@@ -501,11 +501,11 @@ function mcl_enchanting.show_enchanting_formspec(player)
 		local hover_ending = (can_enchant and "_hovered" or "_off")
 		formspec = formspec
 			.. "container[3.2," .. y .. "]"
-			.. (slot and "tooltip[button_" .. i .. ";" .. C("#818181") .. F(slot.description) .. " " .. C("#FFFFFF") .. " . . . ?\n\n" .. (enough_levels and C(enough_lapis and "#818181" or "#FC5454") .. F(S("@1 Lapis Lazuli", i)) .. "\n" .. C("#818181") .. F(S("@1 Enchantment Levels", i)) or C("#FC5454") .. F(S("Level requirement: @1", slot.level_requirement))) .. "]" or "")
+			.. (slot and "tooltip[button_" .. i .. ";" .. C(mcl_colors.GRAY) .. F(slot.description) .. " " .. C(mcl_colors.WHITE) .. " . . . ?\n\n" .. (enough_levels and C(enough_lapis and mcl_colors.GRAY or mcl_colors.RED) .. F(S("@1 Lapis Lazuli", i)) .. "\n" .. C(mcl_colors.GRAY) .. F(S("@1 Enchantment Levels", i)) or C(mcl_colors.RED) .. F(S("Level requirement: @1", slot.level_requirement))) .. "]" or "")
 			.. "style[button_" .. i .. ";bgimg=mcl_enchanting_button" .. ending .. ".png;bgimg_hovered=mcl_enchanting_button" .. hover_ending .. ".png;bgimg_pressed=mcl_enchanting_button" .. hover_ending .. ".png]"
 			.. "button[0,0;7.5,1.3;button_" .. i .. ";]"
 			.. (slot and "image[0,0;1.3,1.3;mcl_enchanting_number_" .. i .. ending .. ".png]" or "")
-			.. (slot and "label[7.2,1.1;" .. C(can_enchant and "#80FF20" or "#407F10") .. slot.level_requirement .. "]" or "")
+			.. (slot and "label[7.2,1.1;" .. C(can_enchant and mcl_colors.GREEN or mcl_colors.DARK_GREEN) .. slot.level_requirement .. "]" or "")
 			.. (slot and slot.glyphs or "")
 			.. "container_end[]"
 		y = y + 1.35
diff --git a/mods/ITEMS/mcl_enchanting/mod.conf b/mods/ITEMS/mcl_enchanting/mod.conf
index ac4dad644..4d4741fb8 100644
--- a/mods/ITEMS/mcl_enchanting/mod.conf
+++ b/mods/ITEMS/mcl_enchanting/mod.conf
@@ -1,5 +1,5 @@
 name = mcl_enchanting
 description = Enchanting for MineClone2
-depends = tt, walkover, mcl_sounds
+depends = tt, walkover, mcl_sounds, mcl_colors
 optional_depends = screwdriver
 author = Fleckenstein
diff --git a/mods/ITEMS/mcl_farming/mod.conf b/mods/ITEMS/mcl_farming/mod.conf
index 73627923e..9ab36c39f 100644
--- a/mods/ITEMS/mcl_farming/mod.conf
+++ b/mods/ITEMS/mcl_farming/mod.conf
@@ -1,3 +1,3 @@
 name = mcl_farming
-depends = mcl_core, mcl_sounds, mcl_wool, mcl_torches, mcl_weather, mobs_mc
+depends = mcl_core, mcl_sounds, mcl_wool, mcl_torches, mcl_weather, mobs_mc, mcl_colors
 optional_depends = mcl_armor, doc
diff --git a/mods/ITEMS/mcl_farming/potatoes.lua b/mods/ITEMS/mcl_farming/potatoes.lua
index 871d67963..a7f5a7084 100644
--- a/mods/ITEMS/mcl_farming/potatoes.lua
+++ b/mods/ITEMS/mcl_farming/potatoes.lua
@@ -118,7 +118,7 @@ minetest.register_craftitem("mcl_farming:potato_item_baked", {
 
 minetest.register_craftitem("mcl_farming:potato_item_poison", {
 	description = S("Poisonous Potato"),
-	_tt_help = minetest.colorize("#FFFF00", S("60% chance of poisoning")),
+	_tt_help = minetest.colorize(mcl_colors.YELLOW, S("60% chance of poisoning")),
 	_doc_items_longdesc = S("This potato doesn't look too healthy. You can eat it to restore hunger points, but there's a 60% chance it will poison you briefly."),
 	stack_max = 64,
 	inventory_image = "farming_potato_poison.png",
diff --git a/mods/ITEMS/mcl_furnaces/init.lua b/mods/ITEMS/mcl_furnaces/init.lua
index 63b4bbc7b..1d1ecc031 100644
--- a/mods/ITEMS/mcl_furnaces/init.lua
+++ b/mods/ITEMS/mcl_furnaces/init.lua
@@ -9,12 +9,12 @@ local LIGHT_ACTIVE_FURNACE = 13
 
 local function active_formspec(fuel_percent, item_percent)
 	return "size[9,8.75]"..
-	"label[0,4;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.74;9,1;]"..
 	mcl_formspec.get_itemslot_bg(0,7.74,9,1)..
-	"label[2.75,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Furnace"))).."]"..
+	"label[2.75,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Furnace"))).."]"..
 	"list[current_name;src;2.75,0.5;1,1;]"..
 	mcl_formspec.get_itemslot_bg(2.75,0.5,1,1)..
 	"list[current_name;fuel;2.75,2.5;1,1;]"..
@@ -38,12 +38,12 @@ local function active_formspec(fuel_percent, item_percent)
 end
 
 local inactive_formspec = "size[9,8.75]"..
-	"label[0,4;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,4;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,4.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,4.5,9,3)..
 	"list[current_player;main;0,7.74;9,1;]"..
 	mcl_formspec.get_itemslot_bg(0,7.74,9,1)..
-	"label[2.75,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Furnace"))).."]"..
+	"label[2.75,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Furnace"))).."]"..
 	"list[current_name;src;2.75,0.5;1,1;]"..
 	mcl_formspec.get_itemslot_bg(2.75,0.5,1,1)..
 	"list[current_name;fuel;2.75,2.5;1,1;]"..
diff --git a/mods/ITEMS/mcl_furnaces/mod.conf b/mods/ITEMS/mcl_furnaces/mod.conf
index fe0b9c208..99a1ad0bf 100644
--- a/mods/ITEMS/mcl_furnaces/mod.conf
+++ b/mods/ITEMS/mcl_furnaces/mod.conf
@@ -1,3 +1,3 @@
 name = mcl_furnaces
-depends = mcl_init, mcl_formspec, mcl_core, mcl_sounds, mcl_craftguide, mcl_achievements, mcl_particles
+depends = mcl_init, mcl_formspec, mcl_core, mcl_sounds, mcl_craftguide, mcl_achievements, mcl_particles, mcl_colors
 optional_depends = doc, screwdriver
diff --git a/mods/ITEMS/mcl_hoppers/init.lua b/mods/ITEMS/mcl_hoppers/init.lua
index 3ff549e4f..e9b3f75e0 100644
--- a/mods/ITEMS/mcl_hoppers/init.lua
+++ b/mods/ITEMS/mcl_hoppers/init.lua
@@ -4,10 +4,10 @@ local S = minetest.get_translator("mcl_hoppers")
 
 local mcl_hoppers_formspec =
 	"size[9,7]"..
-	"label[2,0;"..minetest.formspec_escape(minetest.colorize("#313131", S("Hopper"))).."]"..
+	"label[2,0;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Hopper"))).."]"..
 	"list[current_name;main;2,0.5;5,1;]"..
 	mcl_formspec.get_itemslot_bg(2,0.5,5,1)..
-	"label[0,2;"..minetest.formspec_escape(minetest.colorize("#313131", S("Inventory"))).."]"..
+	"label[0,2;"..minetest.formspec_escape(minetest.colorize(mcl_colors.DARK_GRAY, S("Inventory"))).."]"..
 	"list[current_player;main;0,2.5;9,3;9]"..
 	mcl_formspec.get_itemslot_bg(0,2.5,9,3)..
 	"list[current_player;main;0,5.74;9,1;]"..
diff --git a/mods/ITEMS/mcl_hoppers/mod.conf b/mods/ITEMS/mcl_hoppers/mod.conf
index c89292f6b..53f514f39 100644
--- a/mods/ITEMS/mcl_hoppers/mod.conf
+++ b/mods/ITEMS/mcl_hoppers/mod.conf
@@ -1,4 +1,4 @@
 name = mcl_hoppers
 description = It's just a clone of Minecraft hoppers, functions nearly identical to them minus mesecons making them stop and the way they're placed.
-depends = mcl_core, mcl_formspec, mcl_sounds, mcl_util
+depends = mcl_core, mcl_formspec, mcl_sounds, mcl_util, mcl_colors
 optional_depends = doc, screwdriver
diff --git a/mods/ITEMS/mcl_mobitems/init.lua b/mods/ITEMS/mcl_mobitems/init.lua
index 650e40ac3..1b7929722 100644
--- a/mods/ITEMS/mcl_mobitems/init.lua
+++ b/mods/ITEMS/mcl_mobitems/init.lua
@@ -2,7 +2,7 @@ local S = minetest.get_translator("mcl_mobitems")
 
 minetest.register_craftitem("mcl_mobitems:rotten_flesh", {
 	description = S("Rotten Flesh"),
-	_tt_help = minetest.colorize("#FFFF00", S("80% chance of food poisoning")),
+	_tt_help = minetest.colorize(mcl_colors.YELLOW, S("80% chance of food poisoning")),
 	_doc_items_longdesc = S("Yuck! This piece of flesh clearly has seen better days. If you're really desperate, you can eat it to restore a few hunger points, but there's a 80% chance it causes food poisoning, which increases your hunger for a while."),
 	inventory_image = "mcl_mobitems_rotten_flesh.png",
 	wield_image = "mcl_mobitems_rotten_flesh.png",
@@ -63,7 +63,7 @@ minetest.register_craftitem("mcl_mobitems:cooked_beef", {
 
 minetest.register_craftitem("mcl_mobitems:chicken", {
 	description = S("Raw Chicken"),
-	_tt_help = minetest.colorize("#FFFF00", S("30% chance of food poisoning")),
+	_tt_help = minetest.colorize(mcl_colors.YELLOW, S("30% chance of food poisoning")),
 	_doc_items_longdesc = S("Raw chicken is a food item which is not safe to consume. You can eat it to restore a few hunger points, but there's a 30% chance to suffer from food poisoning, which increases your hunger rate for a while. Cooking raw chicken will make it safe to eat and increases its nutritional value."),
 	inventory_image = "mcl_mobitems_chicken_raw.png",
 	wield_image = "mcl_mobitems_chicken_raw.png",
@@ -147,7 +147,7 @@ end
 
 minetest.register_craftitem("mcl_mobitems:milk_bucket", {
 	description = S("Milk"),
-	_tt_help = minetest.colorize("#00FF00", S("Removes all status effects")),
+	_tt_help = minetest.colorize(mcl_colors.GREEN, S("Removes all status effects")),
 	_doc_items_longdesc = S("Milk is very refreshing and can be obtained by using a bucket on a cow. Drinking it will remove all status effects, but restores no hunger points."),
 	_doc_items_usagehelp = S("Use the placement key to drink the milk."),
 	inventory_image = "mcl_mobitems_bucket_milk.png",
@@ -160,7 +160,7 @@ minetest.register_craftitem("mcl_mobitems:milk_bucket", {
 
 minetest.register_craftitem("mcl_mobitems:spider_eye", {
 	description = S("Spider Eye"),
-	_tt_help = minetest.colorize("#FFFF00", S("Poisonous")),
+	_tt_help = minetest.colorize(mcl_colors.YELLOW, S("Poisonous")),
 	_doc_items_longdesc = S("Spider eyes are used mainly in crafting. If you're really desperate, you can eat a spider eye, but it will poison you briefly."),
 	inventory_image = "mcl_mobitems_spider_eye.png",
 	wield_image = "mcl_mobitems_spider_eye.png",
diff --git a/mods/ITEMS/mcl_mobitems/mod.conf b/mods/ITEMS/mcl_mobitems/mod.conf
index dc85b6b01..e9604036e 100644
--- a/mods/ITEMS/mcl_mobitems/mod.conf
+++ b/mods/ITEMS/mcl_mobitems/mod.conf
@@ -1,2 +1,2 @@
 name = mcl_mobitems
-depends = mcl_core, mcl_hunger
+depends = mcl_core, mcl_hunger, mcl_colors
diff --git a/mods/ITEMS/mcl_nether/init.lua b/mods/ITEMS/mcl_nether/init.lua
index 30fc17148..467054767 100644
--- a/mods/ITEMS/mcl_nether/init.lua
+++ b/mods/ITEMS/mcl_nether/init.lua
@@ -95,7 +95,7 @@ minetest.register_node("mcl_nether:netherrack", {
 
 minetest.register_node("mcl_nether:magma", {
 	description = S("Magma Block"),
-	_tt_help = minetest.colorize("#FFFF00", S("Burns your feet")),
+	_tt_help = minetest.colorize(mcl_colors.YELLOW, S("Burns your feet")),
 	_doc_items_longdesc = S("Magma blocks are hot solid blocks which hurt anyone standing on it, unless they have fire resistance. Starting a fire on this block will create an eternal fire."),
 	stack_max = 64,
 	tiles = {{name="mcl_nether_magma.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.5}}},
diff --git a/mods/ITEMS/mcl_nether/mod.conf b/mods/ITEMS/mcl_nether/mod.conf
index 807bf311e..8bef6c6c9 100644
--- a/mods/ITEMS/mcl_nether/mod.conf
+++ b/mods/ITEMS/mcl_nether/mod.conf
@@ -1,3 +1,3 @@
 name = mcl_nether
-depends = mcl_core, mcl_sounds, mcl_util, walkover, doc_items
+depends = mcl_core, mcl_sounds, mcl_util, walkover, doc_items, mcl_colors
 optional_depends = mcl_death_messages, doc, screwdriver