I made it with all my years of experience scripting
local workspacechildren = {}
for i,v in workspace:GetChildren() do
if v:IsA("Camera") or v:IsA("Folder") or v:IsA("Terrain") then continue end
table.insert(workspacechildren, v)
end
local data = {
}
for i,v in workspacechildren do
data[v.ClassName] = data[v.ClassName] or {}
data[v.ClassName][v.Name] = data[v.ClassName][v.Name] or {}
table.insert(data[v.ClassName][v.Name], v)
end
print(data)
for foldername, list in data do
local newf = Instance.new("Folder", workspace) newf.Name = foldername
for nameofitem, objecttable in list do
local folder = newf:FindFirstChild(nameofitem) or Instance.new("Folder", newf) folder.Name = nameofitem
for i,v in objecttable do
v.Parent = folder
end
end
end
Copy paste this and run it into your command bar