, politics, death, and the meaning of life” at the UCB East theatre: Stand-Up Comedy, But Deeper
: Megan Neuringer (HBO’s Flight Of The Conchords, Comedy Central’s Kroll Show, @midnight, FOX’s Fringe, VH1’s Best Week Ever, MTV; freelance writer for Jimmy Fallon), Jason Saenz (Comedy Central, sketch group Onassis, co-host of Late Night Trash), James Dwyer, and Steven DeSiena doing stand-up, plus sketch from group Unisex and music from Henry Koperski, all performing for this free weekly show at Brooklyn’s Over the Eight (594 Union Ave) hosted by Bret Davis: The Tuesday Special
[FREE] 10:00 pm: Stand-ups Peggy O’Leary, Missy Baker, Kenny DeForest, Anthony P. DeVito, Nate Fridson, Maria Heinegg, Will Miles, Raj Sivaraman, Casey James Salengo, and Will Winner performing at The Creek upstairs theatre in Queens’ Long Island City produced by Peggy O’Leary & Rebecca A. Trent and hosted tonight by Sam Evans: Creek Cave Live
[ALMOST FREE] 6:00 pm ($1): A weekly improv jam hosted by group Judith at This Theater (154 West 29th Street, 2nd Floor): Judith Jam
[FREE] 6:30 pm: Weekly stand-up open mic (with sign-up starting at 6:00) at People’s Republic of Brooklyn (247 Smith Street) hosted by Dustin Drury: This Is Happening Open MIc
7:00 pm ($2, which includes a free beer or water): Open mic stand-up providing a whopping 10 minutes per comic. Email PhoningItInMic@gmail.com with subject line Phoning Tuesday to sign up; or take a chance at lottery sign-up live between 6:45 and 7:45 at Brit Pack Studios (153 Lafayette Street, 3rd Floor) hosted by Ian Fidance: Comics Phoning It In
[TOP PICK] [FREE] 8:00 pm: This weekly two-hour open mic storytelling show allows each performer 8 minutes to tell a compelling and funny tale at Queens LIC’s The Creek downstairs lounge hosted by Jake Hart and a guest co-host (not announced):] 11:00 pm: Open-mic stand-up at UCB East hosted by Boris Khaykin, John Trowbridge, and/or Katie East: Tuesday Night Open Mic.The underlying mechanics have already been added to Java Edition and Bedrock Edition, in the form of data-driven generation.

You can replicate any and all of the world generation from that update except for the novelty features like the Langton's Ant world.

The syntax is not identical to the April Fools version, and there is no built-in mechanic to generate dimensions on-the-fly using special books, but custom map makers could implement that using what we have right now.

See r/minecraft_configs for examples.<reponame>BearerPipelineTest/unleash
import { publicFolder } from 'unleash-frontend';
import express, { Application, RequestHandler } from 'express';
import cors from 'cors';
import compression from 'compression';
import favicon from'serve-favicon';
import cookieParser from 'cookie-parser';
import path from 'path';
import errorHandler from 'errorhandler';
import { responseTimeMetrics } from './middleware/response-time-metrics';
import rbacMiddleware from './middleware/rbac-middleware';
import apiTokenMiddleware from './middleware/api-token-middleware';
import { IUnleashServices } from './types/services';
import { IAuthType, IUnleashConfig } from './types/option';
import { IUnleashStores } from './types/stores';

import IndexRouter from './routes';

import requestLogger from './middleware/request-logger';
import demoAuthentication from './middleware/demo-authentication';
import ossAuthentication from './middleware/oss-authentication';
import noAuthentication from './middleware/no-authentication';
import secureHeaders from './middleware/secure-headers';

import { loadIndexHTML } from './util/load-index-html';

export default async function getApp(
    config: IUnleashConfig,
    stores: IUnleashStores,
    services: IUnleashServices,
    unleashSession?: RequestHandler,
): Promise<Application> {
    const app = express();

    const baseUriPath = config.server.baseUriPath || '';

    let indexHTML = await loadIndexHTML(config, publicFolder);

    app.set('trust proxy', true);
    app.disable('x-powered-by');
    app.set('port', config.server.port);
    app.locals.baseUriPath = baseUriPath;

    if (config.server.serverMetrics && config.eventBus) {
        app.use(responseTimeMetrics(config.eventBus));
    }

    app.use(requestLogger(config));

    if (typeof config.preHook === 'function') {
        config.preHook(app, config, services);
    }

    if (process.env.NODE_ENV === 'development') {
        app.use(cors());
    }

    app.use(compression());
    app.use(cookieParser());
    app.use(express.json({ strict: false }));
    if (unleashSession) {
        app.use(unleashSession);
    }
    app.use(secureHeaders(config));
    app.use(express.urlencoded({ extended: true }));
    app.use(favicon(path.join(publicFolder, 'favicon.ico')));
    app.use(baseUriPath, favicon(path.join(publicFolder, 'favicon.ico')));
    app.use(baseUriPath, express.static(publicFolder, { index: false }));

    if (config.enableOAS) {
        app.use(`${baseUriPath}/oas`, express.static('docs/api/oas'));
    }

    if (config.enableOAS && services.openApiService) {
        services.openApiService.useDocs(app);
    }

    switch (config.authentication.type) {
        case IAuthType.OPEN_SOURCE: {
            app.use(baseUriPath, apiTokenMiddleware(config, services));
            ossAuthentication(app, config.server.baseUriPath);
            break;
        }
        case IAuthType.ENTERPRISE: {
            app.use(baseUriPath, apiTokenMiddleware(config, services));
            config.authentication.customAuthHandler(app, config, services);
            break;
        }
        case IAuthType.HOSTED: {
            app.use(baseUriPath, apiTokenMiddleware(config, services));
            config.authentication.customAuthHandler(app, config, services);
            break;
        }
        case IAuthType.DEMO: {
            app.use(baseUriPath, apiTokenMiddleware(config, services));
            demoAuthentication(
                app,
                config.server.baseUriPath,
                services,
                config,
            );
            break;
        }
        case IAuthType.CUSTOM: {
            app.use(baseUriPath, apiTokenMiddleware(config, services));
            config.authentication.customAuthHandler(app, config, services);
            break;
        }
        case IAuthType.NONE: {
            noAuthentication(baseUriPath, app);
            break;
        }
        default: {
            app.use(baseUriPath, apiTokenMiddleware(config, services));
            demoAuthentication(
                app,
                config.server.baseUriPath,
                services,
                config,
            );
            break;
        }
    }

    app.use(
        baseUriPath,
        rbacMiddleware(config, stores, services.accessService),
    );

    if (typeof config.preRouterHook === 'function') {
        config.preRouterHook(app, config, services, stores);
    }

    // Setup API routes
    app.use(`${baseUriPath}/`, new IndexRouter(config, services).router);

    if (services.openApiService) {
        services.openApiService.useErrorHandler(app);
    }

    if (process.env.NODE_ENV!== 'production') {
        app.use(errorHandler());
    }

    app.get(`${baseUriPath}`, (req, res) => {
        res.send(indexHTML);
    });

    app.get(`${baseUriPath}/*`, (req, res) => {
        if (req.path.startsWith(`${baseUriPath}/api`)) {
            res.status(404).