You can use PVInstance:PivotTo to specify a CFrame (rotation and position) of an object that is eligable to be Pivoted, and we set the rotation to be equivalent to the Player’s making it look in the same direction (away)
local pos = (plr.Character.HumanoidRootPart.CFrame*CFrame.new(0,0,-5)).p
flamethrower:PivotTo(CFrame.new(pos+Vector3.new(0,5,0)) * plr.Character.Rotation)
You would offset it by multiplying plr.Character.HumanoidRooPart.CFrame.Rotation by CFrame.Angles(0, math.rad(90), 0). If it rotates it on the wrong axes move math.rad(90) to one of the other paramters to rotate it on a different axes.