summaryrefslogtreecommitdiff
path: root/doors.lua
diff options
context:
space:
mode:
authorcheapie <no-email-for-you@example.com>2025-12-07 11:45:19 -0600
committercheapie <no-email-for-you@example.com>2025-12-07 11:45:19 -0600
commit313ad8e3afa9783ca887d47f8b45f77cad1a8414 (patch)
tree224a2843d6402b192b9f0e3decbe089f63ba0ed8 /doors.lua
parenta3bf40bf1419c7366547781b195fdbe04e8365d8 (diff)
downloadcelevator-313ad8e3afa9783ca887d47f8b45f77cad1a8414.tar
celevator-313ad8e3afa9783ca887d47f8b45f77cad1a8414.tar.gz
celevator-313ad8e3afa9783ca887d47f8b45f77cad1a8414.tar.bz2
celevator-313ad8e3afa9783ca887d47f8b45f77cad1a8414.tar.xz
celevator-313ad8e3afa9783ca887d47f8b45f77cad1a8414.zip
Dispatcher stability improvements and door fixes
Diffstat (limited to 'doors.lua')
-rw-r--r--doors.lua11
1 files changed, 8 insertions, 3 deletions
diff --git a/doors.lua b/doors.lua
index 75cbb8b..f16ced8 100644
--- a/doors.lua
+++ b/doors.lua
@@ -646,12 +646,17 @@ function celevator.doors.carstep(dtime)
end
if data.time >= math.pi then
for _,ref in ipairs(celevator.doors.erefs[hash]) do
- ref:set_velocity(vector.new(0,0,0))
+ ref:remove()
end
- celevator.get_meta(data.positions[1]):set_string("doorstate","closed")
+ local carmeta = celevator.get_meta(data.positions[1])
+ carmeta:set_string("doorstate","closed")
cardoors_moving[hash] = nil
local cartimer = minetest.get_node_timer(data.positions[1])
cartimer:stop()
+ local fdir = minetest.facedir_to_dir(minetest.get_node(data.positions[1]).param2)
+ local doortype = carmeta:get_string("doortype")
+ if (not doortype) or doortype == "" then doortype = "glass" end
+ celevator.doors.spawncardoors(data.positions[1],fdir,doortype)
end
end
else
@@ -738,7 +743,7 @@ function celevator.doors.caropen(pos)
}
local erefs = {}
for _,dpos in ipairs(positions) do
- local objs = minetest.get_objects_inside_radius(dpos,0.1)
+ local objs = minetest.get_objects_inside_radius(dpos,0.5)
for _,obj in pairs(objs) do
if obj:get_luaentity() and obj:get_luaentity().name == "celevator:car_door" then
table.insert(erefs,obj)