From 45413ee5c031d9d44342a09f4ac8b412a75568be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20P=C3=A9rez-Cerezo?= Date: Sun, 26 Jul 2020 23:28:24 +0200 Subject: Add function to step through freight codes --- advtrains/trainlogic.lua | 10 ++++++++++ advtrains/wagons.lua | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'advtrains') diff --git a/advtrains/trainlogic.lua b/advtrains/trainlogic.lua index 1bda0f2..2c2e247 100644 --- a/advtrains/trainlogic.lua +++ b/advtrains/trainlogic.lua @@ -922,6 +922,16 @@ function advtrains.split_train_at_fc(train) end end +function advtrains.train_step_fc(train) + for i=1,#train.trainparts do + local w_id = train.trainparts[i] + local data = advtrains.wagons[w_id] + if data then + advtrains.step_fc(data) + end + end +end + function advtrains.split_train_at_index(train, index) -- this function splits a train at index, creating a new train from the back part of the train. diff --git a/advtrains/wagons.lua b/advtrains/wagons.lua index d805bc6..71557fa 100644 --- a/advtrains/wagons.lua +++ b/advtrains/wagons.lua @@ -874,6 +874,7 @@ function wagon.prev_fc(data) end function wagon.next_fc(data) + if not data.fc then return end if data.fcrev then wagon.prev_fc(data) return @@ -1127,7 +1128,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) wagon.show_wagon_properties({id=uid}, pname) end if fields.fcn then - wagon.next_fc(data) + advtrains.step_fc(data) wagon.show_wagon_properties({id=uid}, pname) end end -- cgit v1.2.3