Skip to content

Pipelines

Swifter edited this page Feb 9, 2025 · 8 revisions

Prerequisites

What Are Pipelines?

Pipelines represent an input and output beatmap. Your map files (Info.dat, difficulties.. etc.) will go through the pipeline (your script) and be outputted to an output directory.

alt text

How To Create A Pipeline

A pipeline is created with the rm.createPipeline function.

const pipeline = await rm.createPipeline()

By default it will work in the script's execution directory, but you can provide a path to an Info.dat file that you want to create the pipeline from.

const pipeline = await rm.createPipeline({
    infoPath: "C:/Users/swift/BSManager/SharedContent/CustomWIPLevels/Map/Info.dat"
})

How To Export A Pipeline

Use the export function on a pipeline in order to export it to an output directory.

pipeline.export({
    outputDirectory: '../OutputMaps/Your Map'
})
OutputMaps
└── Your Map
    ├── Info.dat
    ├── song.ogg
    ├── cover.png
    ├── ExpertPlusStandard.dat
    ...

Zipping Map Files

In the export function for a pipeline, you can provide a zip object with some additional parameters.

pipeline.export({
    outputDirectory: '../OutputMaps',
    zip: {
        /** Name of the .zip. */
        name: 'My Map',
        /** (Optional) Add Vivify bundles to the zip. */
        includeBundles: true
    }
})

This will create the zip in the script execution directory.

Clone this wiki locally