From fa71e3166c7029fb102ab039e798a01cbff857e2 Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Sun, 26 Aug 2018 07:23:40 -0400 Subject: [PATCH] allow replacement nodes during airbrushing --- API.md | 3 +++ init.lua | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/API.md b/API.md index 50de5d5..c42d5aa 100644 --- a/API.md +++ b/API.md @@ -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)` diff --git a/init.lua b/init.lua index 8ebbd23..4ebcded 100644 --- a/init.lua +++ b/init.lua @@ -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