Add function to step through freight codes

master
Gabriel Pérez-Cerezo 2020-07-26 23:28:24 +02:00
parent c54e0b341a
commit 45413ee5c0
3 changed files with 16 additions and 1 deletions

View File

@ -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.

View File

@ -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

View File

@ -75,6 +75,10 @@ function r.fire_event(pos, evtdata)
end
return fc
end,
step_fc = function()
if not train_id then return false end
advtrains.train_step_fc(train)
end,
set_shunt = function()
if not train_id then return false end
train.autocouple = true