Installation
Requirements
| Requirement | Detail |
|---|---|
| Server software | Paper |
| Minecraft | 1.21 or newer |
| API version | 1.21 |
| Built against | io.papermc.paper:paper-api:1.21.11-R0.1-SNAPSHOT |
| Java | 21 |
| Dependencies | None |
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.
-
Stop the server.
-
Open
bukkit.ymland add aworld-containersetting undersettings:settings:world-container: blueprint -
Create a folder called
blueprint/in the server root. -
Move your existing
world/,world_nether/, andworld_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
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
-
Download the latest
Blueprint-<version>.jarfrom the releases page, or build it from source (below). -
Place the jar in your server's
plugins/directory. -
Start the server. Blueprint creates
plugins/Blueprint/config.ymlon first run. -
Check the console. You should see a line like:
[Blueprint] World container: /path/to/server/blueprintIf you see
*** SETUP REQUIRED ***instead, theworld-containersetting is missing or does not match. Go back to Step 1. -
Edit
plugins/Blueprint/config.ymlif 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
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
- Run
/bp create testbuild. You are teleported onto a 3×3 glass platform in an empty void world. - Place a few blocks, then run
/bp snapshot create. - Break everything you placed.
- Run
/bp snapshot listand copy the snapshot ID, which looks likesnap-2026-09-23-041530. - 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. - Clean up with
/bp delete testbuild confirm.
Importing an existing world
To bring a world made elsewhere under Blueprint's management:
- Copy the world folder into
blueprint/and name it the way you want the world to be called, for exampleblueprint/spawn-v2/. It must contain aregion/folder with at least one.mcafile. - 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.
| Setting | Value |
|---|---|
| Group ID | dev.anchorlight |
| Artifact ID | Blueprint |
| Main class | dev.anchorlight.blueprint.BlueprintPlugin |
| Java release | 21 |
| Paper API | 1.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/.