Send a custom WooCommerce email when custom order change [closed]

I think you need do two changes:

  1. Add a filter to woocommerce_email_actions that adds the action hook which should trigger the notification:
function add_ready_to_ship_woocommerce_email_action( $email_actions ) {
  $email_actions[] = 'woocommerce_order_status_ready-to-ship';
  return $email_actions;
}

add_filter( 'woocommerce_email_actions', 'add_ready_to_ship_woocommerce_email_action' );
  1. Change the trigger hook in the email class (add a _notification suffix):
// Trigger on new paid orders
add_action( 'woocommerce_order_status_ready-to-ship_notification', array( $this, 'trigger', 10, 2 ) );