this code actually still works in 20.1, but it needs a tiny tweak.
Battle::PokeBallEffects::IsUnconditional.add(:SHINEBALL,proc{|ball,battle,battler|
next true if battler.pokemon && battler.pokemon.shiny?
next false
})
is the code that I used. also, no longer need to define the Ball Type...