Update neighbor teleports on place
parent
4c99a34881
commit
f7fad2e16d
21
init.lua
21
init.lua
|
@ -102,14 +102,15 @@ function teleports.do_teleporting(pos1, pos2, playername)
|
|||
teleports.animate(pos1, playername)
|
||||
minetest.after(3.0, teleports.teleportate, {pos1, pos2, playername})
|
||||
end
|
||||
teleports.set_formspec = function(pos)
|
||||
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)
|
||||
|
||||
local buttons = "";
|
||||
local x = 1
|
||||
local y = 1
|
||||
for i, EachTeleport in ipairs( teleports:find_nearby(pos, 6) ) do
|
||||
for i, EachTeleport in ipairs( shown_teleports ) do
|
||||
if i == 4 then
|
||||
x = x + 3.5
|
||||
y = 1
|
||||
|
@ -162,7 +163,7 @@ teleports.on_receive_fields = function(pos, formname, fields, player)
|
|||
end
|
||||
end
|
||||
|
||||
teleports.set_formspec(pos)
|
||||
teleports.set_formspec(pos, available)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -196,7 +197,11 @@ minetest.register_node("teleports:teleport", {
|
|||
inv:set_size("price", 1)
|
||||
local initialcharge = {name="default:mossycobble", count=30, wear=0, metadata=""}
|
||||
inv:add_item("price", initialcharge)
|
||||
teleports.set_formspec(pos)
|
||||
|
||||
-- Add formspec to self
|
||||
local near_teleports = teleports:find_nearby(pos, 6)
|
||||
teleports.set_formspec(pos, near_teleports)
|
||||
|
||||
local sign_pos = minetest.find_node_near(pos, 1, {"default:sign_wall_wood", "default:sign_wall_steel"})
|
||||
if sign_pos then
|
||||
local sign_meta = minetest.env:get_meta(sign_pos)
|
||||
|
@ -206,6 +211,14 @@ minetest.register_node("teleports:teleport", {
|
|||
else
|
||||
table.insert(teleports.teleports, {pos=vector.round(pos)})
|
||||
end
|
||||
|
||||
-- Update formspec of target 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
|
||||
|
||||
teleports:save()
|
||||
end
|
||||
end,
|
||||
|
|
Loading…
Reference in New Issue