function CollectiveWorldModel._getCombinedResults(o,U,...)local N=workspace[U](workspace,...)if worldModel then local o=worldModel[U](worldModel,...)for U,o in pairs(o)do table.insert(N,o)end end return N end function CollectiveWorldModel.GetPartBoundsInBox(q,U,o,N)return q:_getCombinedResults("\071\101\116\080\097\114\116\066\111\117\110\100\115\073\110\066\111\120",U,o,N)end function CollectiveWorldModel.GetPartBoundsInRadius(q,U,o,N)return q:_getCombinedResults("\071\101\116\080\097\114\116\066\111\117\110\100\115\073\110\082\097\100\105\117\115",U,o,N)end function CollectiveWorldModel.GetPartsInPart(N,U,o)return N:_getCombinedResults("\071\101\116\080\097\114\116\115\073\110\080\097\114\116",U,o)end return CollectiveWorldModel

function CollectiveWorldModel:_getCombinedResults(methodName, ...)
	local results = workspace[methodName](workspace, ...)
	if worldModel then
		local additionalResults = worldModel[methodName](worldModel, ...)
		for _, result in pairs(additionalResults) do
			table.insert(results, result)
		end
	end
	return results
end

function CollectiveWorldModel:GetPartBoundsInBox(cframe, size, overlapParams)
	return self:_getCombinedResults("GetPartBoundsInBox", cframe, size, overlapParams)
end

function CollectiveWorldModel:GetPartBoundsInRadius(position, radius, overlapParams)
	return self:_getCombinedResults("GetPartBoundsInRadius", position, radius, overlapParams)
end

function CollectiveWorldModel:GetPartsInPart(part, overlapParams)
	return self:_getCombinedResults("GetPartsInPart", part, overlapParams)
end



return CollectiveWorldModel
