function after_place_node(pos, node) # [s1][f1]----[n1] x [n2]-----[f2][s2] # s..secondary, f..far, n..near res,dir1,dir2 = update_nears(pos, node) if res: local fpos1,fdir1 = del_meta(pos, dir1) or repair_tube(pos, dir1) or pos,Turn180[dir1] local fpos2,fdir2 = del_meta(pos, dir2) or repair_tube(pos, dir2) or pos,Turn180[dir2] add_meta(fpos1, fpos2,fdir2) add_meta(fpos2, fpos1,fdir1) -- pos , data update_secondary_node(fpos1,fdir1, fpos2,fdir2) update_secondary_node(fpos2,fdir2, fpos1,fdir1) if mt.nodes[node.name].tubelib2 then mt.nodes[node.name].tl2(pos, dir): function after_dig_node(pos, oldnode): # [s1][f1]----[n1] x [n2]-----[f2][s2] # s..secondary, f..far, n..near res,dir1,dir2 = update_nears(pos, oldnode) if res: local fpos1,fdir1 = repair_tube(pos, dir1) or pos,Turn180[dir1] local fpos2,fdir2 = repair_tube(pos, dir2) or pos,Turn180[dir2] local npos1,ndir1 = get_pos(pos, dir1),Turn180[dir1] local npos2,ndir2 = get_pos(pos, dir2),Turn180[dir2] add_meta(fpos1, npos1,ndir1) add_meta(fpos2, npos1,ndir1) -- pos , data update_secondary_node(fpos1,fdir1, npos1,ndir1) update_secondary_node(fpos2,fdir2, npos2,ndir2)