local workspace = game:GetService("Workspace") local baseFolder = workspace:FindFirstChild("Base") if not baseFolder then baseFolder = Instance.new("Folder") baseFolder.Name = "Base" baseFolder.Parent = workspace end local parts = { { shapeName = "Block", materialName = "Concrete", cfComps = {-4824.37,1884.05,2529.32,0,0,1,0.34202,0.939693,0,-0.939693,0.34202,0}, size = {2041.44,3.05,80}, color = {0.282353,0.27451,0.266667}, transparency = 0, reflectance = 0, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "Concrete", cfComps = {-4824.37,1185.89,4447.5,0,0,1,0.34202,0.939693,0,-0.939693,0.34202,0}, size = {2047.83,3.05,80}, color = {0.282353,0.27451,0.266667}, transparency = 0, reflectance = 0, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "Concrete", cfComps = {-4824.37,713.216,5746.15,0,0,1,0.34202,0.939693,0,-0.939693,0.34202,0}, size = {717.829,3.05,80}, color = {0.282353,0.27451,0.266667}, transparency = 0, reflectance = 0, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "Concrete", cfComps = {-4824.37,2233.06,1506.59,0,0,1,0,1,0,-1,0,0}, size = {128.177,3.05,80}, color = {0.282353,0.27451,0.266667}, transparency = 0, reflectance = 0, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "Concrete", cfComps = {-4824.37,2078,1258.26,0,0,1,-0.642788,0.766044,0,-0.766044,-0.642788,0}, size = {483.58,3.05,80}, color = {0.282353,0.27451,0.266667}, transparency = 0, reflectance = 0, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "Concrete", cfComps = {-5757.28,1924.91,935.2,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {214.58,3.05,1959}, color = {0.282353,0.27451,0.266667}, transparency = 0, reflectance = 0, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "Concrete", cfComps = {-7241.88,1924.91,803.972,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {58.961,3.05,1023.77}, color = {0.282353,0.27451,0.266667}, transparency = 0, reflectance = 0, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-8770.93,1926.41,668.815,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047.77}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-10810.4,1926.41,488.545,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-8590.7,1926.41,-1370.23,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047.77}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-10630.1,1926.41,-1550.5,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-8951.17,1926.41,2707.87,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047.77}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-10990.6,1926.41,2527.6,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-13029.3,1926.41,2347.39,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047.77}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-15068.7,1926.41,2167.12,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-12849,1926.41,308.342,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047.77}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-12668.8,1926.41,-1730.71,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047.77}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-14708.2,1926.41,-1910.98,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, }, { shapeName = "Block", materialName = "SmoothPlastic", cfComps = {-14888.5,1926.41,128.072,0.0880492,0,0.996116,0,1,0,-0.996116,0,0.0880492}, size = {2048,0.05,2047}, color = {0.454902,0.905882,0.839216}, transparency = 0.6, reflectance = 0.7, canCollide = true, anchored = true, } } local attachmentsByName = {} for _, partData in ipairs(parts) do local part if partData.isMeshPart then part = Instance.new("MeshPart") part.MeshId = partData.meshId or "" part.TextureID = partData.textureId or "" elseif partData.specialMesh then part = Instance.new("Part") local specialMesh = Instance.new("SpecialMesh") specialMesh.MeshId = partData.specialMesh.meshId or "" specialMesh.TextureId = partData.specialMesh.textureId or "" specialMesh.Scale = Vector3.new(unpack(partData.specialMesh.scale)) specialMesh.MeshType = Enum.MeshType[partData.specialMesh.meshType] specialMesh.Parent = part else part = Instance.new("Part") part.Shape = Enum.PartType[partData.shapeName] end part.Material = Enum.Material[partData.materialName] part.CFrame = CFrame.new(unpack(partData.cfComps)) part.Size = Vector3.new(unpack(partData.size)) part.Color = Color3.new(unpack(partData.color)) part.Transparency = partData.transparency part.Reflectance = partData.reflectance part.CanCollide = partData.canCollide part.Anchored = partData.anchored part.CollisionGroup = "Part" part.Parent = baseFolder if partData.lights then for _, lightData in ipairs(partData.lights) do local light = Instance.new(lightData.className) light.Enabled = lightData.enabled light.Brightness = lightData.brightness light.Color = Color3.new(unpack(lightData.color)) light.Range = lightData.range light.Shadows = lightData.shadows if lightData.angle ~= nil then light.Angle = lightData.angle end if lightData.face ~= nil then light.Face = Enum.NormalId[lightData.face] end light.Parent = part end end if partData.decals then for _, decalData in ipairs(partData.decals) do local decal = Instance.new(decalData.className) decal.Texture = decalData.texture decal.Face = Enum.NormalId[decalData.face] decal.Transparency = decalData.transparency decal.Parent = part end end if partData.particles then for _, particleData in ipairs(partData.particles) do local emitter = Instance.new("ParticleEmitter") emitter.Texture = particleData.texture emitter.Lifetime = NumberRange.new(particleData.lifetimeMin, particleData.lifetimeMax) emitter.Rate = particleData.rate emitter.Speed = NumberRange.new(particleData.speedMin, particleData.speedMax) emitter.Transparency = NumberSequence.new(particleData.transparency[1], particleData.transparency[2] or particleData.transparency[1]) emitter.Size = NumberSequence.new(particleData.size[1], particleData.size[2] or particleData.size[1]) emitter.Color = ColorSequence.new(Color3.new(unpack(particleData.color[1])), Color3.new(unpack(particleData.color[2] or particleData.color[1]))) emitter.LightEmission = particleData.lightEmission emitter.Enabled = particleData.enabled emitter.Parent = part end end if partData.attachments then for _, attData in ipairs(partData.attachments) do local att = Instance.new("Attachment") att.Name = attData.name att.CFrame = CFrame.new(unpack(attData.cfComps)) att.Parent = part attachmentsByName[attData.fullName] = att end end end for _, beamData in ipairs(beams or {}) do local att0 = attachmentsByName[beamData.att0] local att1 = attachmentsByName[beamData.att1] if att0 and att1 then local beam = Instance.new("Beam") beam.Attachment0 = att0 beam.Attachment1 = att1 beam.Texture = beamData.texture beam.Color = ColorSequence.new(Color3.new(unpack(beamData.color[1])), Color3.new(unpack(beamData.color[2] or beamData.color[1]))) beam.Transparency = NumberSequence.new(beamData.transparency[1], beamData.transparency[2] or beamData.transparency[1]) beam.Width0 = beamData.width0 beam.Width1 = beamData.width1 beam.Enabled = beamData.enabled beam.Parent = att0.Parent end end