function FpsCamera.AddHeadMirror(U,v)if v:IsA("\066\097\115\101\080\097\114\116")and U:IsValidPartToModify(v)then local L=v:Clone()L:ClearAllChildren()L.Locked=true L.Anchored=true L.CanCollide=false L.Parent=U.MirrorBin local function C(v)local C if v:IsA("\068\097\116\097\077\111\100\101\108\077\101\115\104")then C="\083\099\097\108\101"elseif v:IsA("\068\101\099\097\108")then C="\084\114\097\110\115\112\097\114\101\110\099\121"end if C then local I=v:Clone()I.Parent=L U:MirrorProperty(v,I,C)end end for v,U in pairs(v:GetChildren())do C(U)end U.HeadMirrors[v]=L U:MirrorProperty(v,L,"\084\114\097\110\115\112\097\114\101\110\099\121")v.ChildAdded:Connect(C)end end
-- Creates a lazy object-mirror for the provided part.
-- This is used to make the Head visible in first person.

function FpsCamera:AddHeadMirror(desc)
	if desc:IsA("BasePart") and self:IsValidPartToModify(desc) then
		local mirror = desc:Clone()
		mirror:ClearAllChildren()

		mirror.Locked = true
		mirror.Anchored = true
		mirror.CanCollide = false
		mirror.Parent = self.MirrorBin

		local function onChildAdded(child)
			local prop

			if child:IsA("DataModelMesh") then
				prop = "Scale"
			elseif child:IsA("Decal") then
				prop = "Transparency"
			end

			if prop then
				local copy = child:Clone()
				copy.Parent = mirror

				self:MirrorProperty(child, copy, prop)
			end
		end

		for _, child in pairs(desc:GetChildren()) do
			onChildAdded(child)
		end

		self.HeadMirrors[desc] = mirror
		self:MirrorProperty(desc, mirror, "Transparency")

		desc.ChildAdded:Connect(onChildAdded)
	end
end
