1
0
mirror of https://github.com/mt-mods/unifieddyes.git synced 2024-12-25 10:10:29 +01:00

allow shift-punching on a colorable node, to cancel auto-coloring

also add a message in the chat when auto-color is activated, and with what.
This commit is contained in:
Vanessa Ezekowitz 2017-03-18 15:46:08 -04:00
parent cf186f5f9c
commit df177c26a7

View File

@ -561,6 +561,7 @@ function unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
end end
function unifieddyes.on_use(itemstack, player, pointed_thing) function unifieddyes.on_use(itemstack, player, pointed_thing)
local stackname = itemstack:get_name()
local playername = player:get_player_name() local playername = player:get_player_name()
if pointed_thing and pointed_thing.type == "node" then if pointed_thing and pointed_thing.type == "node" then
@ -593,6 +594,14 @@ function unifieddyes.on_use(itemstack, player, pointed_thing)
end end
end end
if player:get_player_control().sneak then
if unifieddyes.last_used_dye[playername] then
minetest.chat_send_player(playername, "Shift-punched a node, switching back to neutral color." )
end
unifieddyes.last_used_dye[playername] = nil
return
end
-- if the target is unknown, has no groups defined, or isn't UD-colorable, just bail out -- if the target is unknown, has no groups defined, or isn't UD-colorable, just bail out
if not (nodedef and nodedef.groups and nodedef.groups.ud_param2_colorable) then if not (nodedef and nodedef.groups and nodedef.groups.ud_param2_colorable) then
minetest.chat_send_player(playername, "That node can't be colored.") minetest.chat_send_player(playername, "That node can't be colored.")
@ -617,13 +626,15 @@ function unifieddyes.on_use(itemstack, player, pointed_thing)
return return
end end
local stackname = itemstack:get_name()
local pos2 = unifieddyes.select_node(pointed_thing) local pos2 = unifieddyes.select_node(pointed_thing)
local paletteidx, hue = unifieddyes.getpaletteidx(stackname, palette_type) local paletteidx, hue = unifieddyes.getpaletteidx(stackname, palette_type)
if paletteidx then if paletteidx then
unifieddyes.last_used_dye[playername] = stackname if unifieddyes.last_used_dye[playername] ~= stackname then
minetest.chat_send_player(playername, "Color "..stackname.." selected, auto-coloring activated." )
unifieddyes.last_used_dye[playername] = stackname
end
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local prevdye = meta:get_string("dye") local prevdye = meta:get_string("dye")