<roblox version="4">
  <Item class="ServerScriptService" referent="0">
    <Properties>
      <string name="Name">ServerScriptService</string>
    </Properties>
    <Item class="Script" referent="1">
      <Properties>
        <string name="Name">NeighborhoodBuilder</string>
        <token name="RunContext">0</token>
        <string name="Source"><![CDATA[local W,L=game:GetService("Workspace"),game:GetService("Lighting")
local old=W:FindFirstChild("ColorwashCorner") if old then old:Destroy() end
local root=Instance.new("Folder",W) root.Name="ColorwashCorner"
local folders={}
for _,n in ipairs({"Ground","Roads","Plots","Plaza","Buildings","Props","Nature"}) do local f=Instance.new("Folder",root) f.Name=n folders[n]=f end
local C={grass=Color3.fromRGB(118,181,104),road=Color3.fromRGB(53,61,70),concrete=Color3.fromRGB(220,217,203),cream=Color3.fromRGB(255,238,196),coral=Color3.fromRGB(238,113,105),aqua=Color3.fromRGB(74,190,190),yellow=Color3.fromRGB(246,194,78),blue=Color3.fromRGB(73,124,174),green=Color3.fromRGB(67,131,91),dark=Color3.fromRGB(42,48,57)}
local function part(parent,name,size,pos,color,material)
 local p=Instance.new("Part") p.Name=name p.Size=size p.Position=pos p.Anchored=true p.Color=color p.Material=material or Enum.Material.SmoothPlastic p.TopSurface=Enum.SurfaceType.Smooth p.BottomSurface=Enum.SurfaceType.Smooth p.Parent=parent return p
end
local function cyl(parent,name,size,pos,color,material) local p=part(parent,name,size,pos,color,material) p.Shape=Enum.PartType.Cylinder p.Orientation=Vector3.new(0,0,90) return p end
part(folders.Ground,"MapBase",Vector3.new(1500,8,2200),Vector3.new(0,-4,0),C.grass,Enum.Material.Grass)
part(folders.Roads,"MainStreet",Vector3.new(80,1,1900),Vector3.new(0,.5,80),C.road,Enum.Material.Asphalt)
part(folders.Roads,"WestSidewalk",Vector3.new(18,2,1900),Vector3.new(-49,1,80),C.concrete,Enum.Material.Concrete)
part(folders.Roads,"EastSidewalk",Vector3.new(18,2,1900),Vector3.new(49,1,80),C.concrete,Enum.Material.Concrete)
for z=-820,920,44 do part(folders.Roads,"CenterMarking",Vector3.new(2,.25,22),Vector3.new(0,1.15,z),C.yellow) end
for _,z in ipairs({-760,-260,240,740}) do for x=-34,34,10 do part(folders.Roads,"CrosswalkStripe",Vector3.new(5,.3,18),Vector3.new(x,1.2,z),Color3.new(1,1,1)) end end
local pc={C.coral,C.aqua,C.yellow,C.blue}
for row,z in ipairs({-690,-220,250,720}) do
 for _,side in ipairs({-1,1}) do
  local x=side*270 local plot=part(folders.Plots,string.format("Plot_%s_%02d",side<0 and "West" or "East",row),Vector3.new(400,2,300),Vector3.new(x,1,z),Color3.fromRGB(142,198,126),Enum.Material.Grass)
  plot:SetAttribute("BuildPlot",true) plot:SetAttribute("PlotWidth",400) plot:SetAttribute("PlotDepth",300)
  part(folders.Plots,"Border",Vector3.new(400,1,5),Vector3.new(x,2.1,z-147.5),pc[row]) part(folders.Plots,"Border",Vector3.new(400,1,5),Vector3.new(x,2.1,z+147.5),pc[row])
  part(folders.Plots,"Border",Vector3.new(5,1,300),Vector3.new(x-197.5,2.1,z),pc[row]) part(folders.Plots,"Border",Vector3.new(5,1,300),Vector3.new(x+197.5,2.1,z),pc[row])
  part(folders.Roads,"Driveway",Vector3.new(205,1,32),Vector3.new(side*151.5,1.1,z),C.concrete,Enum.Material.Concrete)
 end
end
local plazaZ=-990
part(folders.Plaza,"SpawnPlaza",Vector3.new(360,2,180),Vector3.new(0,1,plazaZ),C.cream,Enum.Material.Cobblestone)
local sp=Instance.new("SpawnLocation") sp.Name="SpawnLocation" sp.Size=Vector3.new(14,1,14) sp.Position=Vector3.new(0,2.5,plazaZ+55) sp.Anchored=true sp.Color=C.aqua sp.Material=Enum.Material.Neon sp.Parent=folders.Plaza
cyl(folders.Plaza,"FountainBase",Vector3.new(7,52,52),Vector3.new(0,4.5,plazaZ),C.blue,Enum.Material.Slate)
cyl(folders.Plaza,"FountainPool",Vector3.new(2,43,43),Vector3.new(0,8,plazaZ),Color3.fromRGB(104,204,221),Enum.Material.Glass)
cyl(folders.Plaza,"FountainColumn",Vector3.new(16,8,8),Vector3.new(0,14,plazaZ),C.cream,Enum.Material.Marble)
local function tree(x,z,s) part(folders.Nature,"TreeTrunk",Vector3.new(5*s,22*s,5*s),Vector3.new(x,11*s,z),Color3.fromRGB(111,75,49),Enum.Material.Wood) local crown=part(folders.Nature,"TreeCrown",Vector3.new(22*s,22*s,22*s),Vector3.new(x,27*s,z),C.green,Enum.Material.Grass) crown.Shape=Enum.PartType.Ball end
local function lamp(x,z) part(folders.Props,"LampPost",Vector3.new(1.2,20,1.2),Vector3.new(x,10,z),C.dark,Enum.Material.Metal) local p=part(folders.Props,"Lamp",Vector3.new(4,4,4),Vector3.new(x,20.5,z),C.cream,Enum.Material.Glass) local l=Instance.new("PointLight",p) l.Color=C.cream l.Range=26 l.Brightness=1.4 end
for _,z in ipairs({-850,-620,-390,-120,110,380,610,880}) do tree(-78,z,1) tree(78,z+18,.9) lamp(-58,z+55) lamp(58,z-55) end
for _,x in ipairs({-130,130}) do tree(x,plazaZ-45,.85) tree(x,plazaZ+45,.85) for _,o in ipairs({-55,55}) do part(folders.Plaza,"BenchSeat",Vector3.new(28,2,7),Vector3.new(x*.68,5,plazaZ+o),Color3.fromRGB(142,92,58),Enum.Material.WoodPlanks) part(folders.Plaza,"BenchBack",Vector3.new(28,8,2),Vector3.new(x*.68,9,plazaZ+o+3),Color3.fromRGB(142,92,58),Enum.Material.WoodPlanks) end end
local function building(name,pos,size,color,accent)
 local m=Instance.new("Model",folders.Buildings) m.Name=name local body=part(m,"Body",size,pos+Vector3.new(0,size.Y/2,0),color,Enum.Material.Concrete) part(m,"Roof",Vector3.new(size.X+8,5,size.Z+8),pos+Vector3.new(0,size.Y+2.5,0),accent,Enum.Material.Metal)
 for floor=12,size.Y-8,15 do for x=-size.X/2+10,size.X/2-10,18 do part(m,"Window",Vector3.new(8,8,1),pos+Vector3.new(x,floor,-size.Z/2-.6),Color3.fromRGB(176,224,232),Enum.Material.Glass) end end m.PrimaryPart=body return m
end
building("ColorwashLaundromat",Vector3.new(-150,2,plazaZ),Vector3.new(100,54,72),C.aqua,C.coral)
local sign=part(folders.Buildings,"LaundromatSign",Vector3.new(76,16,2),Vector3.new(-150,45,plazaZ-37),C.cream)
local gui=Instance.new("SurfaceGui",sign) gui.Face=Enum.NormalId.Front local label=Instance.new("TextLabel",gui) label.Size=UDim2.fromScale(1,1) label.BackgroundTransparency=1 label.Text="COLORWASH" label.Font=Enum.Font.GothamBlack label.TextColor3=C.coral label.TextScaled=true
for i=1,14 do local side=i%2==0 and -1 or 1 local z=-850+(i-1)*135 local width=80+(i%3)*22 local height=60+(i%5)*17 building("BackgroundShop_"..i,Vector3.new(side*(520+(i%2)*90),2,z),Vector3.new(width,height,70),pc[(i-1)%#pc+1],C.dark) end
L.ClockTime=15.3 L.Brightness=2.2 L.Ambient=Color3.fromRGB(110,118,128) L.OutdoorAmbient=Color3.fromRGB(150,158,166) L.Technology=Enum.Technology.Future
local a=L:FindFirstChildOfClass("Atmosphere") or Instance.new("Atmosphere") a.Density=.22 a.Haze=1.1 a.Color=Color3.fromRGB(205,225,240) a.Parent=L
print("Colorwash Corner generated: 8 plots, central street, spawn plaza, and neighborhood dressing")
]]></string>
      </Properties>
    </Item>
  </Item>
  <Item class="Workspace" referent="2">
    <Properties>
      <string name="Name">Workspace</string>
      <bool name="NeedsPivotMigration">false</bool>
      <bool name="StreamingEnabled">true</bool>
    </Properties>
  </Item>
</roblox>