Perhaps:

arma bona sunt

arma = weapons (only used in plural in Latin, here in nominative case)

bona = good, fine, excellent (nominative plural neuter to agree with arma)

sunt = are (third person plural present indicative active of sum, I am)

"Rifle" is indeed a problem for a Latin translator. The French word for "rifle" is "fusil", which gives us "fusilier" and derives from Italian "focile", ultimately going back to Latin "focus", hearth or fire. If we are to believe

http://www.memidex.com/fusils

fusil [entry 2, noun]. First use: 1680. Origin: French, literally, steel for striking fire, from Old French foisil, from Vulgar Latin *focilis", from Late Latin focus fire

http://www.merriam-webster.com/dictionary/fusil show=1

Then you might get away in Latin with:

focilis bonus est

But "focilis" is very late Latin and is open to contest.