forked from minetest-mods/technic
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:
parent
35b10adb40
commit
d0001a20c9
@ -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
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user