From 3b83580faccfbe5b23cea04bd3e6e0810572c7c0 Mon Sep 17 00:00:00 2001 From: Maverick2797 Date: Fri, 16 Aug 2024 20:47:17 +0800 Subject: Fix LuaATC set_fc() only working on loaded entites --- advtrains_luaautomation/atc_rail.lua | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) mode change 100755 => 100644 advtrains_luaautomation/atc_rail.lua diff --git a/advtrains_luaautomation/atc_rail.lua b/advtrains_luaautomation/atc_rail.lua old mode 100755 new mode 100644 index aac11f0..ead1031 --- a/advtrains_luaautomation/atc_rail.lua +++ b/advtrains_luaautomation/atc_rail.lua @@ -113,11 +113,12 @@ function r.fire_event(pos, evtdata, appr_internal) if fc_list[index] then -- has FC to enter to this wagon local data = advtrains.wagons[wagon_id] if data then -- wagon actually exists - for _,wagon in pairs(minetest.luaentities) do -- find wagon entity - if wagon.is_wagon and wagon.initialized and wagon.id==wagon_id then - wagon.set_fc(data,fc_list[index]) -- overwrite to new FC - break -- no point cycling through every other entity. we found our wagon - end + --direct copy from wagons.lua, allowing for the :split function + data.fc = fc_list[index]:split("!") + if not data.fcind then + data.fcind = 1 + elseif data.fcind > #data.fc then + data.fcind = #data.fc end end end -- cgit v1.2.3