Or can you only get it via event, trade, or hacks?
Yes, if Torchic was your starter you can get it on Route 120 after you battle Steven.
Else, after you beat Kyogre/Groundon, you can get it from Route 114 from the Stone Seller!
Hope this helps.
If your starter is torchic you can get it by Steven at route 120 in the story
if your starter was not Torchic you can buy it from the Stone Guy on route 114 (The route near Fallarbor town NOT THE ASH FILLED ROUTE)