mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2025-03-11 06:07:44 +01:00
Turn powered rail conductor states into functions
This commit is contained in:
parent
b7538bb64d
commit
feaf000b00
2 changed files with 30 additions and 6 deletions
mods/ENTITIES/mcl_minecarts
|
@ -239,10 +239,26 @@ local function make_mesecons(base_name, suffix, base_mesecons)
|
|||
mesecons.conductor = table.copy(base_mesecons.conductor)
|
||||
|
||||
if mesecons.conductor.onstate then
|
||||
mesecons.conductor.onstate = base_mesecons.conductor.onstate..suffix
|
||||
if type(mesecons.conductor.onstate) == "function" then
|
||||
local old_onstate = mesecons.conductor.onstate
|
||||
mesecons.conductor.onstate = function(pos, node)
|
||||
local res = old_onstate(pos, node)
|
||||
return {res[1]..suffix, res[2]}
|
||||
end
|
||||
else
|
||||
mesecons.conductor.onstate = base_mesecons.conductor.onstate..suffix
|
||||
end
|
||||
end
|
||||
if base_mesecons.conductor.offstate then
|
||||
mesecons.conductor.offstate = base_mesecons.conductor.offstate..suffix
|
||||
if type(mesecons.conductor.offstate) == "function" then
|
||||
local old_offstate = mesecons.conductor.offstate
|
||||
mesecons.conductor.offstate = function(pos, node)
|
||||
local res = old_offstate(pos, node)
|
||||
return {res[1]..suffix, res[2]}
|
||||
end
|
||||
else
|
||||
mesecons.conductor.offstate = base_mesecons.conductor.offstate..suffix
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -21,8 +21,12 @@ mod.register_curves_rail("mcl_minecarts:golden_rail_v2",{
|
|||
mesecons = {
|
||||
conductor = {
|
||||
state = mesecon.state.off,
|
||||
offstate = "mcl_minecarts:golden_rail_v2",
|
||||
onstate = "mcl_minecarts:golden_rail_v2_on",
|
||||
offstate = function(pos, node)
|
||||
return {"mcl_minecarts:golden_rail_v2", node.param2}
|
||||
end,
|
||||
onstate = function(pos, node)
|
||||
return {"mcl_minecarts:golden_rail_v2_on", node.param2}
|
||||
end,
|
||||
rules = mod.rail_rules_long,
|
||||
},
|
||||
},
|
||||
|
@ -73,8 +77,12 @@ mod.register_curves_rail("mcl_minecarts:golden_rail_v2_on",{
|
|||
mesecons = {
|
||||
conductor = {
|
||||
state = mesecon.state.on,
|
||||
offstate = "mcl_minecarts:golden_rail_v2",
|
||||
onstate = "mcl_minecarts:golden_rail_v2_on",
|
||||
offstate = function(pos, node)
|
||||
return {"mcl_minecarts:golden_rail_v2", node.param2}
|
||||
end,
|
||||
onstate = function(pos, node)
|
||||
return {"mcl_minecarts:golden_rail_v2_on", node.param2}
|
||||
end,
|
||||
rules = mod.rail_rules_long,
|
||||
},
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue