@@ -44,24 +44,28 @@ local vertical_updatepos = function (pos)
44
44
and minetest .registered_nodes [node .name ].is_vertical_conductor then
45
45
local node_above = minetest .get_node (vector .add (pos , vertical_rules [1 ]))
46
46
local node_below = minetest .get_node (vector .add (pos , vertical_rules [2 ]))
47
- local namestate = minetest .registered_nodes [node .name ].vertical_conductor_state
48
47
49
48
local above = minetest .registered_nodes [node_above .name ]
50
49
and minetest .registered_nodes [node_above .name ].is_vertical_conductor
51
50
local below = minetest .registered_nodes [node_below .name ]
52
51
and minetest .registered_nodes [node_below .name ].is_vertical_conductor
53
52
54
- local basename = " mesecons_extrawires:vertical_"
53
+ mesecon .on_dignode (pos , node )
54
+
55
+ -- Always place offstate conductor and let mesecon.on_placenode take care
56
+ local newname = " mesecons_extrawires:vertical_"
55
57
if above and below then -- above and below: vertical mesecon
56
- minetest . set_node ( pos , { name = basename .. namestate })
58
+ newname = newname .. " off "
57
59
elseif above and not below then -- above only: bottom
58
- minetest . set_node ( pos , { name = basename .. " bottom_ " .. namestate })
60
+ newname = newname .. " bottom_off "
59
61
elseif not above and below then -- below only: top
60
- minetest . set_node ( pos , { name = basename .. " top_ " .. namestate })
62
+ newname = newname .. " top_off "
61
63
else -- no vertical wire above, no vertical wire below: use bottom
62
- minetest . set_node ( pos , { name = basename .. " bottom_ " .. namestate })
64
+ newname = newname .. " bottom_off "
63
65
end
64
- mesecon .update_autoconnect (pos )
66
+
67
+ minetest .set_node (pos , {name = newname })
68
+ mesecon .on_placenode (pos , {name = newname })
65
69
end
66
70
end
67
71
@@ -87,7 +91,6 @@ mesecon.register_node("mesecons_extrawires:vertical", {
87
91
},{
88
92
tiles = {" mesecons_wire_off.png" },
89
93
groups = {dig_immediate = 3 },
90
- vertical_conductor_state = " off" ,
91
94
mesecons = {conductor = {
92
95
state = mesecon .state .off ,
93
96
onstate = " mesecons_extrawires:vertical_on" ,
@@ -96,7 +99,6 @@ mesecon.register_node("mesecons_extrawires:vertical", {
96
99
},{
97
100
tiles = {" mesecons_wire_on.png" },
98
101
groups = {dig_immediate = 3 , not_in_creative_inventory = 1 },
99
- vertical_conductor_state = " on" ,
100
102
mesecons = {conductor = {
101
103
state = mesecon .state .on ,
102
104
offstate = " mesecons_extrawires:vertical_off" ,
@@ -120,15 +122,13 @@ mesecon.register_node("mesecons_extrawires:vertical_top", {
120
122
after_dig_node = vertical_update
121
123
},{
122
124
tiles = {" mesecons_wire_off.png" },
123
- vertical_conductor_state = " off" ,
124
125
mesecons = {conductor = {
125
126
state = mesecon .state .off ,
126
127
onstate = " mesecons_extrawires:vertical_top_on" ,
127
128
rules = top_rules ,
128
129
}}
129
130
},{
130
131
tiles = {" mesecons_wire_on.png" },
131
- vertical_conductor_state = " on" ,
132
132
mesecons = {conductor = {
133
133
state = mesecon .state .on ,
134
134
offstate = " mesecons_extrawires:vertical_top_off" ,
@@ -152,15 +152,13 @@ mesecon.register_node("mesecons_extrawires:vertical_bottom", {
152
152
after_dig_node = vertical_update
153
153
},{
154
154
tiles = {" mesecons_wire_off.png" },
155
- vertical_conductor_state = " off" ,
156
155
mesecons = {conductor = {
157
156
state = mesecon .state .off ,
158
157
onstate = " mesecons_extrawires:vertical_bottom_on" ,
159
158
rules = bottom_rules ,
160
159
}}
161
160
},{
162
161
tiles = {" mesecons_wire_on.png" },
163
- vertical_conductor_state = " on" ,
164
162
mesecons = {conductor = {
165
163
state = mesecon .state .on ,
166
164
offstate = " mesecons_extrawires:vertical_bottom_off" ,
0 commit comments