local _contexts = {} function logikraft.showNameFormspec(playername,pos) local node = minetest.get_node(pos) local nodedesc = minetest.registered_nodes[node.name].description local text = "Please enter the name of the " .. nodedesc .. " at ("..tostring(pos.x)..","..tostring(pos.y)..","..tostring(pos.z)..")" local meta = minetest.get_meta(pos) local oldname = meta:get_string("logikraft:name") or "" local formspec = { "formspec_version[4]", "size[6,3.476]", "label[0.375,0.5;", minetest.formspec_escape(text), "]", "field[0.375,1.25;5.25,0.8;name;".. minetest.formspec_escape(nodedesc) .. " name;"..oldname.."]", "button_exit[1.5,2.3;3,0.8;commit;OK]" } _contexts[playername] = pos minetest.show_formspec(playername, "logikraft:nameFormSpec", table.concat(formspec, "")) end minetest.register_on_player_receive_fields(function(player, formname, fields) if formname ~= "logikraft:nameFormSpec" then return end if fields.commit then local pname = player:get_player_name() if _contexts[pname] then local meta = minetest.get_meta(_contexts[pname]) meta:set_string("logikraft:name",fields.name) minetest.chat_send_player(pname, "Set to "..fields.name) else minetest.chat_send_player(pname, "Could not get pos data from formspec") end end end)