forked from nalc/nalc_game
		
	Make wools colorable by any dye (not just the ones in the dye mod)
This commit is contained in:
		| @@ -1,6 +1,8 @@ | |||||||
| Minetest 0.4 mod: dye | Minetest 0.4 mod: dye | ||||||
| ====================== | ====================== | ||||||
|  |  | ||||||
|  | See init.lua for documentation. | ||||||
|  |  | ||||||
| License of source code and media files: | License of source code and media files: | ||||||
| --------------------------------------- | --------------------------------------- | ||||||
| Copyright (C) 2012 Perttu Ahola (celeron55) <celeron55@gmail.com> | Copyright (C) 2012 Perttu Ahola (celeron55) <celeron55@gmail.com> | ||||||
|   | |||||||
| @@ -5,40 +5,52 @@ minetest.register_alias("wool:dark_blue", "wool:blue") | |||||||
| minetest.register_alias("wool:gold", "wool:yellow") | minetest.register_alias("wool:gold", "wool:yellow") | ||||||
|  |  | ||||||
| local wool = {} | local wool = {} | ||||||
|  | -- This uses a trick: you can first define the recipes using all of the base | ||||||
|  | -- colors, and then some recipes using more specific colors for a few non-base | ||||||
|  | -- colors available. When crafting, the last recipes will be checked first. | ||||||
| wool.dyes = { | wool.dyes = { | ||||||
| 	{"white",      "White"}, | 	{"white",      "White",      nil}, | ||||||
| 	{"grey",       "Grey"}, | 	{"grey",       "Grey",       "basecolor_grey"}, | ||||||
| 	{"dark_grey",  "Dark Grey"}, | 	{"black",      "Black",      "basecolor_black"}, | ||||||
| 	{"black",      "Black"}, | 	{"red",        "Red",        "basecolor_red"}, | ||||||
| 	{"violet",     "Violet"}, | 	{"yellow",     "Yellow",     "basecolor_yellow"}, | ||||||
| 	{"blue",       "Blue"}, | 	{"green",      "Green",      "basecolor_green"}, | ||||||
| 	{"cyan",       "Cyan"}, | 	{"cyan",       "Cyan",       "basecolor_cyan"}, | ||||||
| 	{"dark_green", "Dark Green"}, | 	{"blue",       "Blue",       "basecolor_blue"}, | ||||||
| 	{"green",      "Green"}, | 	{"magenta",    "Magenta",    "basecolor_magenta"}, | ||||||
| 	{"yellow",     "Yellow"}, | 	{"orange",     "Orange",     "excolor_orange"}, | ||||||
| 	{"brown",      "Brown"}, | 	{"violet",     "Violet",     "excolor_violet"}, | ||||||
| 	{"orange",     "Orange"}, | 	{"brown",      "Brown",      "unicolor_dark_orange"}, | ||||||
| 	{"red",        "Red"}, | 	{"pink",       "Pink",       "unicolor_light_red"}, | ||||||
| 	{"magenta",    "Magenta"}, | 	{"dark_grey",  "Dark Grey",  "unicolor_darkgrey"}, | ||||||
| 	{"pink",       "Pink"}, | 	{"dark_green", "Dark Green", "unicolor_dark_green"}, | ||||||
| } | } | ||||||
|  |  | ||||||
| for _, row in ipairs(wool.dyes) do | for _, row in ipairs(wool.dyes) do | ||||||
| 	local name = row[1] | 	local name = row[1] | ||||||
| 	local desc = row[2] | 	local desc = row[2] | ||||||
|  | 	local craft_color_group = row[3] | ||||||
| 	-- Node Definition | 	-- Node Definition | ||||||
| 	minetest.register_node("wool:"..name, { | 	minetest.register_node("wool:"..name, { | ||||||
| 		description = desc.." Wool", | 		description = desc.." Wool", | ||||||
| 		tile_images = {"wool_"..name..".png"}, | 		tile_images = {"wool_"..name..".png"}, | ||||||
| 		groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3}, | 		groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3}, | ||||||
| 	}) | 	}) | ||||||
| 	if name ~= "white" then | 	if craft_color_group then | ||||||
| 		-- Crafting from dye and white wool | 		-- Crafting from dye and white wool | ||||||
| 		minetest.register_craft({ | 		minetest.register_craft({ | ||||||
|  | 			output = 'wool:'..name..' 16', | ||||||
|  | 			recipe = { | ||||||
|  | 				{'group:'..craft_color_group}, | ||||||
|  | 				{'wool:white'}, | ||||||
|  | 			} | ||||||
|  | 		}) | ||||||
|  | 		-- Shapeless group recipes don't currently work | ||||||
|  | 		--[[minetest.register_craft({ | ||||||
| 			type = "shapeless", | 			type = "shapeless", | ||||||
| 			output = 'wool:'..name..' 16', | 			output = 'wool:'..name..' 16', | ||||||
| 			recipe = {'dye:'..name, 'wool:white'}, | 			recipe = {'group:'..craft_color_group, 'wool:white'}, | ||||||
| 		}) | 		})--]] | ||||||
| 	end | 	end | ||||||
| end | end | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user