Fix visible cable connection for irregular items

The switching station and supply converter only semantically connect to
cables in particular directions.  Make them visually connect only in
the matching directions.  This is done by special-casing in the cable
update logic.  If more irregular items arise in the future, or the
existing items start to need facedir logic, this should be generalised
into something like the connect_sides system for pneumatic tubes.
This commit is contained in:
Zefram 2014-08-17 13:40:15 +01:00
parent 35b10adb40
commit d0001a20c9
2 changed files with 6 additions and 4 deletions

View File

@ -690,9 +690,7 @@ no energy will flow without one. Unlike most electrical items, the
switching station is not voltage-specific: the same item will manage
a network of any tier. However, also unlike most electrical items,
it is picky about the direction in which it is connected to the cable:
the cable must be directly below the switching station. Due to a bug,
the switching station will visually appear to connect to cables on other
sides, but those connections don't do anything.
the cable must be directly below the switching station.
Hovering over a network's switching station will show the aggregate energy
supply and demand, which is useful for troubleshooting. Electrical energy

View File

@ -130,7 +130,11 @@ end
function technic.cables_should_connect(pos1, pos2, tier)
local name = minetest.get_node(pos2).name
if technic.is_tier_cable(name, tier) then
if name == "technic:switching_station" then
return pos2.y == pos1.y + 1 and "machine" or false
elseif name == "technic:supply_converter" then
return math.abs(pos2.y - pos1.y) == 1 and "machine" or false
elseif technic.is_tier_cable(name, tier) then
return "cable"
elseif technic.machines[tier][name] then
return "machine"