Update tele formspecs on removal of tele
parent
f7fad2e16d
commit
a3538225f8
13
init.lua
13
init.lua
|
@ -103,7 +103,6 @@ function teleports.do_teleporting(pos1, pos2, playername)
|
|||
minetest.after(3.0, teleports.teleportate, {pos1, pos2, playername})
|
||||
end
|
||||
teleports.set_formspec = function(pos, shown_teleports)
|
||||
minetest.log("error", tostring(dump(pos)))
|
||||
local meta = minetest.get_meta(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
|
||||
|
@ -223,12 +222,22 @@ minetest.register_node("teleports:teleport", {
|
|||
end
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
-- Update list of teleports on destruction
|
||||
local near_teleports = teleports:find_nearby(pos, 6)
|
||||
|
||||
for i, EachTeleport in ipairs(teleports.teleports) do
|
||||
if vector.equals(EachTeleport.pos, pos) then
|
||||
table.remove(teleports.teleports, i)
|
||||
teleports:save()
|
||||
end
|
||||
end
|
||||
teleports:save()
|
||||
|
||||
-- Update formspecs of affected teleports
|
||||
for n=1, #near_teleports do
|
||||
local pos2 = near_teleports[n].pos
|
||||
local near_teleports2 = teleports:find_nearby(pos2, 6)
|
||||
teleports.set_formspec(pos2, near_teleports2)
|
||||
end
|
||||
end,
|
||||
on_receive_fields = teleports.on_receive_fields,
|
||||
allow_metadata_inventory_put = teleports.allow_metadata_inventory_put,
|
||||
|
|
Loading…
Reference in New Issue