diff options
author | Vanessa Dannenberg <vanessa.e.dannenberg@gmail.com> | 2018-08-26 07:23:40 -0400 |
---|---|---|
committer | Vanessa Dannenberg <vanessa.e.dannenberg@gmail.com> | 2018-08-26 07:23:40 -0400 |
commit | fa71e3166c7029fb102ab039e798a01cbff857e2 (patch) | |
tree | 6e67e1aa39f1fa43d48cb1d27ff268f77492eaee | |
parent | 414d72d2a60fd1ae59656673cfcfa8bb1f7ad95b (diff) | |
download | unifieddyes-fa71e3166c7029fb102ab039e798a01cbff857e2.tar unifieddyes-fa71e3166c7029fb102ab039e798a01cbff857e2.tar.gz unifieddyes-fa71e3166c7029fb102ab039e798a01cbff857e2.tar.bz2 unifieddyes-fa71e3166c7029fb102ab039e798a01cbff857e2.tar.xz unifieddyes-fa71e3166c7029fb102ab039e798a01cbff857e2.zip |
allow replacement nodes during airbrushing
-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 |