Alternatively, since not everyone knows which ban mask number is for which ban mask, a sub-menu using $sub-menu could've been used.
I also noted that the OP states 21 possible ban-masks, yet only has 20 liste (ban mask 0 is not in the code)