function CollectiveWorldModel._getCombinedResults(u,d,...)local x=workspace[d](workspace,...)if worldModel then local u=worldModel[d](worldModel,...)for d,u in pairs(u)do table.insert(x,u)end end return x end function CollectiveWorldModel.GetPartBoundsInBox(N,d,u,x)return N:_getCombinedResults("\071\101\116\080\097\114\116\066\111\117\110\100\115\073\110\066\111\120",d,u,x)end function CollectiveWorldModel.GetPartBoundsInRadius(N,d,u,x)return N:_getCombinedResults("\071\101\116\080\097\114\116\066\111\117\110\100\115\073\110\082\097\100\105\117\115",d,u,x)end function CollectiveWorldModel.GetPartsInPart(x,d,u)return x:_getCombinedResults("\071\101\116\080\097\114\116\115\073\110\080\097\114\116",d,u)end return CollectiveWorldModel
-- METHODS
function CollectiveWorldModel:_getCombinedResults(methodName, ...)
	local results = workspace[methodName](workspace, ...)
	if worldModel then
		local additionalResults = worldModel[methodName](worldModel, ...)
		for _, result in pairs(additionalResults) do
			table.insert(results, result)
		end
	end
	return results
end

function CollectiveWorldModel:GetPartBoundsInBox(cframe, size, overlapParams)
	return self:_getCombinedResults("GetPartBoundsInBox", cframe, size, overlapParams)
end

function CollectiveWorldModel:GetPartBoundsInRadius(position, radius, overlapParams)
	return self:_getCombinedResults("GetPartBoundsInRadius", position, radius, overlapParams)
end

function CollectiveWorldModel:GetPartsInPart(part, overlapParams)
	return self:_getCombinedResults("GetPartsInPart", part, overlapParams)
end

return CollectiveWorldModel
