Script is interacting with Workspace not Players

So I am trying to give the player some tools on their respawn and change some gui text since when the player respawns the guis getting reset and they lose their tools
When this script is getting executed I am getting this error

items is not a valid member of Model "Lemon553311"

As I understand script is interacting with the workspace not Players as I need. How do I make it interact with the Players?
Here’s my current code:

local function onCharacterAdded(player)
	if player.items.GoodRibixItem.Value == true then
		local gear2 = game.ServerStorage["Good Ribix generator"]
		gear2:Clone().Parent = player.Backpack
	else
		local gear1 = game.ServerStorage["Ribix generator"]
		gear1:Clone().Parent = player.Backpack
	end
	player.PlayerGui.SideScreenGUI.Balance.Ribix.Text = player.leaderstats.ribix.Value
	player.PlayerGui.SideScreenGUI.Balance.Bobux.Text = player.leaderstats.bobux.Value
end

local function onPlayerAdded(player)
	player.CharacterAdded:Connect(onCharacterAdded)
end

Players.PlayerAdded:Connect(onPlayerAdded)

Put the tools into StarterGear so they have it on respawn

Btw I am not sure if u know that, but parameter named “player” is actually a character, so therefore u are saying things like character.items and character. Backpack which confuses me a little bit

You can avoid this simply… Just remove the parameter “player” in CharacterAdded function and move entire function under PlayerAdded function