mirror of
				https://github.com/mt-mods/unifieddyes.git
				synced 2025-10-30 23:35:31 +01:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			2018-08-24
			...
			2018-08-25
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | c005dc358a | ||
|  | c7fc48c8d0 | ||
|  | de5f73e976 | 
							
								
								
									
										4
									
								
								API.md
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								API.md
									
									
									
									
									
								
							| @@ -77,6 +77,10 @@ When given a `color` string (in the form of "dye:foo" or "unifieddyes:foo") and | |||||||
|  |  | ||||||
| This function, called in your node definition's on_construct, just sets the `palette = "ext"` metadata key for the node after it's been placed. This can then be read in an LBM to determine if this node needs to be converted from the old 89-color palette to the extended 256-color palette. Although it is good practice to call this for any node that uses the 256-color palette, it isn't actually necessary as long as the node has never used the 89-color palette, and won't be subjected to an LBM that changes its color. | This function, called in your node definition's on_construct, just sets the `palette = "ext"` metadata key for the node after it's been placed. This can then be read in an LBM to determine if this node needs to be converted from the old 89-color palette to the extended 256-color palette. Although it is good practice to call this for any node that uses the 256-color palette, it isn't actually necessary as long as the node has never used the 89-color palette, and won't be subjected to an LBM that changes its color. | ||||||
|  |  | ||||||
|  | **`unifieddyes.make_colored_itemstack(itemstack, palette, color)`** | ||||||
|  |  | ||||||
|  | Makes a colored itemstack out of the given `itemstack` and `color` (as a dye, e.g. "dye:dark_red_s50", setting the correct index per the `palette` field, which works as described above for `unifieddyes.getpaletteidx()`.  Said itemstack is returned as a string suitable for use as the output field of a craft recipe, equal in size to the itemstack passed into the function (e.g. if you give it "mymod:colored_node 7", it'll return a stack of 7 colored items). | ||||||
|  |  | ||||||
| #### Tables | #### Tables | ||||||
|  |  | ||||||
| In addition to the above API calls, Unified Dyes provides several useful tables | In addition to the above API calls, Unified Dyes provides several useful tables | ||||||
|   | |||||||
							
								
								
									
										45
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								init.lua
									
									
									
									
									
								
							| @@ -198,7 +198,7 @@ function unifieddyes.make_colored_itemstack(item, palette, color) | |||||||
| 	local paletteidx = unifieddyes.getpaletteidx(color, palette) | 	local paletteidx = unifieddyes.getpaletteidx(color, palette) | ||||||
| 	local stack = ItemStack(item) | 	local stack = ItemStack(item) | ||||||
| 	stack:get_meta():set_int("palette_index", paletteidx) | 	stack:get_meta():set_int("palette_index", paletteidx) | ||||||
| 	return stack:to_string() | 	return stack:to_string(),paletteidx | ||||||
| end | end | ||||||
|  |  | ||||||
| -- if your node was once 89-color and uses an LBM to convert to the 256-color palette, | -- if your node was once 89-color and uses an LBM to convert to the 256-color palette, | ||||||
| @@ -225,7 +225,6 @@ local function register_c(craft, hue, sat, val) | |||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	local dye = "dye:"..color | 	local dye = "dye:"..color | ||||||
|  |  | ||||||
| 	local recipe = minetest.serialize(craft.recipe) | 	local recipe = minetest.serialize(craft.recipe) | ||||||
| 	recipe = string.gsub(recipe, "MAIN_DYE", dye) | 	recipe = string.gsub(recipe, "MAIN_DYE", dye) | ||||||
| 	recipe = string.gsub(recipe, "NEUTRAL_NODE", craft.neutral_node) | 	recipe = string.gsub(recipe, "NEUTRAL_NODE", craft.neutral_node) | ||||||
| @@ -265,6 +264,8 @@ function unifieddyes.register_color_craft(craft) | |||||||
| 	local greys_table = unifieddyes.GREYS | 	local greys_table = unifieddyes.GREYS | ||||||
|  |  | ||||||
| 	if craft.palette == "wallmounted" then | 	if craft.palette == "wallmounted" then | ||||||
|  | 		register_c(craft, "green", "", "light_") | ||||||
|  | 		register_c(craft, "azure", "", "") | ||||||
| 		hues_table = unifieddyes.HUES_WALLMOUNTED | 		hues_table = unifieddyes.HUES_WALLMOUNTED | ||||||
| 		sats_table = {""} | 		sats_table = {""} | ||||||
| 		vals_table = unifieddyes.VALS | 		vals_table = unifieddyes.VALS | ||||||
| @@ -411,6 +412,7 @@ function unifieddyes.getpaletteidx(color, palette_type) | |||||||
| 	local aliases = { | 	local aliases = { | ||||||
| 		["pink"] = "light_red", | 		["pink"] = "light_red", | ||||||
| 		["brown"] = "medium_orange", | 		["brown"] = "medium_orange", | ||||||
|  | 		["azure"] = "light_blue" | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	local grayscale = { | 	local grayscale = { | ||||||
| @@ -585,9 +587,10 @@ function unifieddyes.getpaletteidx(color, palette_type) | |||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	if palette_type == "wallmounted" then | 	if palette_type == "wallmounted" then | ||||||
| 		if color == "brown" then return 48,1 | 		if color == "green" and shade == "light" then return 48,3 | ||||||
|  | 		elseif color == "brown" then return 17,1 | ||||||
| 		elseif color == "pink" then return 56,7 | 		elseif color == "pink" then return 56,7 | ||||||
| 		elseif color == "blue" and shade == "light" then return 40,5 | 		elseif color == "azure" then return 40,5 | ||||||
| 		elseif hues_wallmounted[color] and shades_wallmounted[shade] then | 		elseif hues_wallmounted[color] and shades_wallmounted[shade] then | ||||||
| 			return (shades_wallmounted[shade] * 64 + hues_wallmounted[color] * 8), hues_wallmounted[color] | 			return (shades_wallmounted[shade] * 64 + hues_wallmounted[color] * 8), hues_wallmounted[color] | ||||||
| 		end | 		end | ||||||
| @@ -599,7 +602,20 @@ function unifieddyes.getpaletteidx(color, palette_type) | |||||||
| 			color = "red" | 			color = "red" | ||||||
| 			shade = "light" | 			shade = "light" | ||||||
| 		end | 		end | ||||||
| 		if palette_type == true then -- it's colorfacedir | 		if palette_type == true then -- it's colorfacedir, so "split" 89-color palette | ||||||
|  |  | ||||||
|  | 			-- If using this palette, translate new color names back to old. | ||||||
|  |  | ||||||
|  | 			if shade == "" then | ||||||
|  | 				if color == "spring" then | ||||||
|  | 					color = "aqua" | ||||||
|  | 				elseif color == "azure" then | ||||||
|  | 					color = "skyblue" | ||||||
|  | 				elseif color == "rose" then | ||||||
|  | 					color = "redviolet" | ||||||
|  | 				end | ||||||
|  | 			end | ||||||
|  |  | ||||||
| 			if hues[color] and shades[shade] then | 			if hues[color] and shades[shade] then | ||||||
| 				return (shades[shade] * 32), hues[color] | 				return (shades[shade] * 32), hues[color] | ||||||
| 			end | 			end | ||||||
| @@ -607,10 +623,7 @@ function unifieddyes.getpaletteidx(color, palette_type) | |||||||
| 			if hues_extended[color] and shades_extended[shade] then | 			if hues_extended[color] and shades_extended[shade] then | ||||||
| 				return (hues_extended[color] + shades_extended[shade]*24), hues_extended[color] | 				return (hues_extended[color] + shades_extended[shade]*24), hues_extended[color] | ||||||
| 			end | 			end | ||||||
| 		else -- it's the 89-color palette | 		else -- it's the regular 89-color palette, do the same translation if needed | ||||||
|  |  | ||||||
| 			-- If using this palette, translate new color names back to old. |  | ||||||
|  |  | ||||||
| 			if shade == "" then | 			if shade == "" then | ||||||
| 				if color == "spring" then | 				if color == "spring" then | ||||||
| 					color = "aqua" | 					color = "aqua" | ||||||
| @@ -938,10 +951,16 @@ minetest.register_alias("unifieddyes:carbon_black", "dye:black") | |||||||
| -- note that technically, lime should be aliased, but can't be (there IS | -- 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) | -- lime in the new color table, it's just shifted up a bit) | ||||||
|  |  | ||||||
| minetest.register_alias("unifieddyes:aqua", "unifieddyes:spring") | minetest.register_alias("unifieddyes:aqua", "dye:spring") | ||||||
| minetest.register_alias("unifieddyes:skyblue", "unifieddyes:azure") | minetest.register_alias("dye:aqua", "dye:spring") | ||||||
| minetest.register_alias("unifieddyes:redviolet", "unifieddyes:rose") |  | ||||||
| minetest.register_alias("unifieddyes:brown", 	  "dye:brown") | minetest.register_alias("unifieddyes:skyblue", "dye:azure") | ||||||
|  | minetest.register_alias("dye:skyblue", "dye:azure") | ||||||
|  |  | ||||||
|  | minetest.register_alias("unifieddyes:redviolet", "dye:rose") | ||||||
|  | minetest.register_alias("dye:redviolet", "dye:rose") | ||||||
|  |  | ||||||
|  | minetest.register_alias("unifieddyes:brown", "dye:brown") | ||||||
|  |  | ||||||
| print(S("[UnifiedDyes] Loaded!")) | print(S("[UnifiedDyes] Loaded!")) | ||||||
|  |  | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 136 B | 
		Reference in New Issue
	
	Block a user