diff options
| -rw-r--r-- | API.md | 3 | ||||
| -rw-r--r-- | init.lua | 6 | 
2 files changed, 7 insertions, 2 deletions
| @@ -13,6 +13,7 @@ minetest.register_node("mymod:colored_node", {  	palette = "unifieddyes_palette_extended.png",  	groups = {snappy = 1, cracky = 2, ud_param2_colorable = 1}  	on_construct = unifieddyes.on_construct, +	airbrush_replacement_node = "mymod:my_other_colored_node"  })  ``` @@ -31,6 +32,8 @@ minetest.register_node("mymod:colored_node", {  `on_construct`: see below. +`airbrush_replacement_node`:  The node to swap in when the airbrush is used on this node.  For example, you could `minetest.override_item()` on some default node to add this field, pointing to a colorable node of your own, so that when the default node is painted, it's replaced with yours in the new color. +  #### Function calls  **`unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)` @@ -633,7 +633,7 @@ function unifieddyes.getpaletteidx(color, palette_type)  	end  end --- punch-to-recolor +-- punch-to-recolor using the airbrush  function unifieddyes.on_airbrush(itemstack, player, pointed_thing)  	local player_name = player:get_player_name() @@ -691,7 +691,9 @@ function unifieddyes.on_airbrush(itemstack, player, pointed_thing)  		return  	end -	minetest.swap_node(pos, {name = node.name, param2 = fdir + idx}) +	local name = def.airbrush_replacement_node or node.name + +	minetest.swap_node(pos, {name = name, param2 = fdir + idx})  	if not creative or not creative.is_enabled_for(player_name) then  		inv:remove_item("main", painting_with)  		return | 
