From 77d02ae03acf2f24d34a61bf59cf8e2717e3bc85 Mon Sep 17 00:00:00 2001 From: cheapie Date: Fri, 17 Apr 2026 10:09:45 -0500 Subject: Change despawn algorithm to make things behave better --- init.lua | 11 +++++++---- 1 file 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", { -- cgit v1.2.3