Skip to main content

Installation

Requirements​

RequirementDetail
Server softwarePaper
Minecraft1.21 or newer
API version1.21
Built againstio.papermc.paper:paper-api:1.21.11-R0.1-SNAPSHOT
Java21
DependenciesNone

Blueprint has no plugin dependencies. Chat formatting uses Paper's built-in Adventure and MiniMessage support.

Step 1: Move your worlds into a blueprint/ folder​

Blueprint keeps every world in a single folder next to your server jar. You set this up once, before installing the plugin.

  1. Stop the server.

  2. Open bukkit.yml and add a world-container setting under settings:

    settings:
    world-container: blueprint
  3. Create a folder called blueprint/ in the server root.

  4. Move your existing world/, world_nether/, and world_the_end/ folders into it.

Your server folder should now look like this:

server/
├── blueprint/
│ ├── world/
│ ├── world_nether/
│ └── world_the_end/
├── plugins/
├── bukkit.yml
└── paper.jar
Do this before the first start

If you skip the folder move, Paper will generate a brand new, empty world/ inside blueprint/ on the next start and your old world will sit unused in the server root.

If you choose a folder name other than blueprint, set the same name in Blueprint's worlds.container-directory option. Blueprint only uses that option to check your setup and warn you in the console if the two do not match.

Step 2: Install the plugin​

  1. Download the latest Blueprint-<version>.jar from the releases page, or build it from source (below).

  2. Place the jar in your server's plugins/ directory.

  3. Start the server. Blueprint creates plugins/Blueprint/config.yml on first run.

  4. Check the console. You should see a line like:

    [Blueprint] World container: /path/to/server/blueprint

    If you see *** SETUP REQUIRED *** instead, the world-container setting is missing or does not match. Go back to Step 1.

  5. Edit plugins/Blueprint/config.yml if you want to change the hub world, snapshot limits, or naming rules, then restart. See Configuration.

After the first command that changes a world, you will also have:

plugins/
└── Blueprint/
├── config.yml
└── audit.yml

See Data Files for what Blueprint stores and where.

Step 3: Lock down permissions​

Every command is open to all players by default

Each Blueprint command node defaults to true, so out of the box any player can create, clone, and delete worlds. That suits a private build server where everyone is trusted. On any other server, deny the command nodes with your permissions plugin and grant blueprint.admin to staff only. See Permissions.

Quick start​

  1. Run /bp create testbuild. You are teleported onto a 3×3 glass platform in an empty void world.
  2. Place a few blocks, then run /bp snapshot create.
  3. Break everything you placed.
  4. Run /bp snapshot list and copy the snapshot ID, which looks like snap-2026-09-23-041530.
  5. Run /bp snapshot restore testbuild <id>. You are moved to the fallback world while it is restored, and your blocks are back when you return with /bp tp testbuild.
  6. Clean up with /bp delete testbuild confirm.

Importing an existing world​

To bring a world made elsewhere under Blueprint's management:

  1. Copy the world folder into blueprint/ and name it the way you want the world to be called, for example blueprint/spawn-v2/. It must contain a region/ folder with at least one .mca file.
  2. Run /bp import spawn-v2.

The world is loaded immediately and build-world rules are applied. See /bp import for details.

Building from source​

Blueprint is a Maven project.

SettingValue
Group IDdev.anchorlight
Artifact IDBlueprint
Main classdev.anchorlight.blueprint.BlueprintPlugin
Java release21
Paper API1.21.11-R0.1-SNAPSHOT
mvn package # produces target/Blueprint-0.1.0.jar

The shaded jar in target/ is the one to drop into plugins/.