This commit is contained in:
Thomas Rudin
2019-05-08 17:23:44 +02:00
parent 602fcde4ae
commit b4a3391b20
+13 -2
View File
@@ -56,6 +56,9 @@ local update_formspec = function(meta)
local inv = meta:get_inventory() local inv = meta:get_inventory()
local range = meta:get_int("range") or 1000 local range = meta:get_int("range") or 1000
if range == 0 then
range = 1000
end
meta:set_string("formspec", "size[8,2;]" .. meta:set_string("formspec", "size[8,2;]" ..
-- col 1 -- col 1
@@ -80,14 +83,18 @@ minetest.register_node("locator:radar", {
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
on_receive_fields = function(pos, formname, fields, sender) on_receive_fields = function(pos, formname, fields, sender)
if minetest.is_protected(pos, sender) then if minetest.is_protected(pos, sender:get_player_name()) then
return return
end end
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
if fields.save and fields.range then if fields.save and fields.range then
meta:set_int("range", tonumber(fields.range) or 1000) local range = tonumber(fields.range)
if not range or range <= 0 or range > 32000 then
range = 1000
end
meta:set_int("range", range)
end end
update_formspec(meta) update_formspec(meta)
@@ -95,6 +102,7 @@ minetest.register_node("locator:radar", {
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_int("range", 1000)
update_formspec(meta) update_formspec(meta)
end, end,
@@ -126,6 +134,9 @@ minetest.register_globalstep(function(dtime)
if node then if node then
local meta = minetest.get_meta(node) local meta = minetest.get_meta(node)
local range = meta:get_int("range") or 1000 local range = meta:get_int("range") or 1000
if range == 0 then
range = 1000
end
show_radar(pos, player, range) show_radar(pos, player, range)
else else
clear_radar(player:get_player_name()) clear_radar(player:get_player_name())