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 | ||||
| ====================== | ||||
|  | ||||
| See init.lua for documentation. | ||||
|  | ||||
| License of source code and media files: | ||||
| --------------------------------------- | ||||
| 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") | ||||
|  | ||||
| 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 = { | ||||
| 	{"white",      "White"}, | ||||
| 	{"grey",       "Grey"}, | ||||
| 	{"dark_grey",  "Dark Grey"}, | ||||
| 	{"black",      "Black"}, | ||||
| 	{"violet",     "Violet"}, | ||||
| 	{"blue",       "Blue"}, | ||||
| 	{"cyan",       "Cyan"}, | ||||
| 	{"dark_green", "Dark Green"}, | ||||
| 	{"green",      "Green"}, | ||||
| 	{"yellow",     "Yellow"}, | ||||
| 	{"brown",      "Brown"}, | ||||
| 	{"orange",     "Orange"}, | ||||
| 	{"red",        "Red"}, | ||||
| 	{"magenta",    "Magenta"}, | ||||
| 	{"pink",       "Pink"}, | ||||
| 	{"white",      "White",      nil}, | ||||
| 	{"grey",       "Grey",       "basecolor_grey"}, | ||||
| 	{"black",      "Black",      "basecolor_black"}, | ||||
| 	{"red",        "Red",        "basecolor_red"}, | ||||
| 	{"yellow",     "Yellow",     "basecolor_yellow"}, | ||||
| 	{"green",      "Green",      "basecolor_green"}, | ||||
| 	{"cyan",       "Cyan",       "basecolor_cyan"}, | ||||
| 	{"blue",       "Blue",       "basecolor_blue"}, | ||||
| 	{"magenta",    "Magenta",    "basecolor_magenta"}, | ||||
| 	{"orange",     "Orange",     "excolor_orange"}, | ||||
| 	{"violet",     "Violet",     "excolor_violet"}, | ||||
| 	{"brown",      "Brown",      "unicolor_dark_orange"}, | ||||
| 	{"pink",       "Pink",       "unicolor_light_red"}, | ||||
| 	{"dark_grey",  "Dark Grey",  "unicolor_darkgrey"}, | ||||
| 	{"dark_green", "Dark Green", "unicolor_dark_green"}, | ||||
| } | ||||
|  | ||||
| for _, row in ipairs(wool.dyes) do | ||||
| 	local name = row[1] | ||||
| 	local desc = row[2] | ||||
| 	local craft_color_group = row[3] | ||||
| 	-- Node Definition | ||||
| 	minetest.register_node("wool:"..name, { | ||||
| 		description = desc.." Wool", | ||||
| 		tile_images = {"wool_"..name..".png"}, | ||||
| 		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 | ||||
| 		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", | ||||
| 			output = 'wool:'..name..' 16', | ||||
| 			recipe = {'dye:'..name, 'wool:white'}, | ||||
| 		}) | ||||
| 			recipe = {'group:'..craft_color_group, 'wool:white'}, | ||||
| 		})--]] | ||||
| 	end | ||||
| end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user