My coords of my table loader are messed up and stuff

my script is supposed to load an array of block data but it does messed up coords for some reason:
client:

local insert_button = script.Parent:WaitForChild("InsertTable")

local Xi = script.Parent:WaitForChild("X")
local Yi = script.Parent:WaitForChild("Y")
local Zi = script.Parent:WaitForChild("Z")
local tableevent = game:GetService("ReplicatedStorage"):FindFirstChild("TableEvent")


insert_button.MouseButton1Click:Connect(function()
	tableevent:FireServer(Xi.Text,Yi.Text,Zi.Text)
end)

server:

local replicatedStorage = game:GetService("ReplicatedStorage")
local data = {}
local TableEvent = replicatedStorage:WaitForChild("TableEvent")

local index = 1
TableEvent.OnServerEvent:Connect(function(x,y,z)
table.insert(data, {
	["name"] = "block",
	["transform"] = {
		["x"] = x;
		["y"] = y;
		["z"] = z;
   }
	})
	print(data)
end)

while true do
	task.wait()
	while data[index] do
		local loadedModel = replicatedStorage.models:FindFirstChild(data[index].name):Clone()

		if loadedModel then
			loadedModel:WaitForChild("Part").CFrame = CFrame.new(data[index].transform.x, data[index].transform.y, data[index].transform.z)

			loadedModel.Parent = game.Workspace.itemHolder
		else
			return
		end
		index = index + 1
	end
end