2019-10-25 04:42:12 -07:00
|
|
|
|
|
|
|
local FORMNAME = "access_card_name"
|
|
|
|
|
|
|
|
local function starts_with(str, start)
|
|
|
|
return str:sub(1, #start) == start
|
|
|
|
end
|
|
|
|
|
|
|
|
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
2019-10-25 08:30:00 -07:00
|
|
|
if formname ~= FORMNAME then
|
2019-10-25 04:42:12 -07:00
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
local stack = player:get_wielded_item()
|
|
|
|
|
2020-03-07 10:30:45 -08:00
|
|
|
if not starts_with(stack:get_name(), "access_cards") or not fields.name then
|
2019-10-25 04:42:12 -07:00
|
|
|
-- not an access card
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
local meta = stack:get_meta()
|
|
|
|
meta:set_int("configured", 1)
|
|
|
|
meta:set_string("name", fields.name)
|
|
|
|
meta:set_string("description", "Access card: '" .. fields.name .. "'")
|
|
|
|
|
|
|
|
player:set_wielded_item(stack)
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
2019-10-25 08:30:00 -07:00
|
|
|
access_cards.name_form = function(player)
|
2019-10-25 08:58:35 -07:00
|
|
|
|
|
|
|
local stack = player:get_wielded_item()
|
|
|
|
local meta = stack:get_meta()
|
|
|
|
|
|
|
|
if meta:get_int("configured") == 1 then
|
|
|
|
-- already configured
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
2019-10-25 04:42:12 -07:00
|
|
|
local formspec = "size[8,1;]" ..
|
|
|
|
"field[0,0.5;6,1;name;Name;]" ..
|
|
|
|
"button_exit[6,0.1;2,1;save;Save]"
|
|
|
|
|
|
|
|
minetest.show_formspec(player:get_player_name(),
|
2019-10-25 08:30:00 -07:00
|
|
|
FORMNAME,
|
2019-10-25 04:42:12 -07:00
|
|
|
formspec
|
|
|
|
)
|
|
|
|
end
|