getMuzzlePoint gets a muzzle point, not a muzzle vector.
What you want to do is add the muzzle point to the extended muzzle vector.
Lets say Muzzle Point is at (3, 5, 2), and Muzzle Vector is (1, 0, 0). Adding them together gives you (4, 5, 2), which is the correct location, however you are extending the point, which in effect moves it further from (0, 0, 0).
If you don't understand the difference and similarities between vectors and positions, I recommend reading
this tutorial.