summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua11
1 files changed, 7 insertions, 4 deletions
diff --git a/init.lua b/init.lua
index 9b1177f..cdac0e2 100644
--- a/init.lua
+++ b/init.lua
@@ -1,12 +1,15 @@
local S = core.get_translator("carts_despawn")
-local old_step = core.registered_entities["carts:cart"].on_step
+local old_activate = core.registered_entities["carts:cart"].on_activate or function() end
-core.registered_entities["carts:cart"].on_step = function(self,dtime,...)
+core.registered_entities["carts:cart"].on_activate = function(self,staticdata,dtime,...)
+ old_activate(self,staticdata,dtime,...)
local obj = self.object
local pos = vector.round(obj:get_pos())
- obj:set_properties({static_save=(core.get_node(pos).name == "carts_despawn:parking_rail")})
- old_step(self,dtime,...)
+ local tracktype = core.get_node(pos).name
+ if tracktype ~= "carts_despawn:parking_rail" and dtime > 0 then
+ obj:remove()
+ end
end
carts:register_rail("carts_despawn:parking_rail", {