There’s definitely something there I can work with, thank you! I will do some tinkering and see how I get on.
EDIT:
I’ve managed to get it exactly how I want - I modified the style Fett263 posted further down for the Red LED:
Red (blink 6 times while saber is off, LED is off while saber is on)
InOutHelper<Black,1,1,Sequence<Red,Black,300,32,0b0,0b0000101010101010>>
Red with On functions (blink 6 times while saber is off, will react to clashes, blaster blocks etc. while saber is on)
Layers<Black,TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<BLAST_COLOR_ARG,Red>,TrFade<100>>,EFFECT_BLAST>,TransitionEffectL<TrConcat<TrJoin<TrDelay<30>,TrInstant>,RgbArg<CLASH_COLOR_ARG,Red>,TrFade<100>>,EFFECT_CLASH>,LockupTrL<AudioFlickerL<RgbArg<LOCKUP_COLOR_ARG,Red>>,TrConcat<TrInstant,RgbArg<LOCKUP_COLOR_ARG,Red>,TrFade<100>>,TrSparkX<Remap<CenterDistF<>,Stripes<1200,-3600,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,Red>>,RgbArg<LOCKUP_COLOR_ARG,Red>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,Red>>>>,Int<30>,Scale<Sum<ClashImpactF<>,SwingSpeed<600>>,Int<100>,Int<400>>>,SaberBase::LOCKUP_NORMAL>,LockupTrL<Strobe<RgbArg<LB_COLOR_ARG,Red>,AudioFlicker<RgbArg<LB_COLOR_ARG,Red>,Rgb<50,0,0>>,50,1>,TrInstant,TrFade<1000>,SaberBase::LOCKUP_LIGHTNING_BLOCK>,InOutTrL<TrInstant,TrInstant,InOutHelper<Black,1,1,Sequence<Red,Black,300,32,0b0,0b101010101010>>>>
Green (10 blinks while saber is off, LED is always on while saber is on)
InOutHelper<Green,1,1,Sequence<Green,Black,300,32,0b1010101010101010,0b1010000000000000>>
The Red with On Functions code is probably a bit of a mess of pre- and post- OS6 stuff, but it does work!
Thanks for pointing me in that direction, and of course thanks to Fett263 for making the styles in the first place.