Data Files
Blueprint stores everything as plain YAML. There is no database to set up.
Layout
server/
├── blueprint/ ← the world container from bukkit.yml
│ ├── world/ ← your main world, not managed by Blueprint
│ ├── castle/ ← a Blueprint world
│ │ ├── blueprint.yml ← Blueprint's record for this world
│ │ ├── level.dat
│ │ ├── region/
│ │ └── snapshots/
│ │ └── snap-2026-09-23-041530/
│ └── lobby/
│ └── ...
└── plugins/
└── Blueprint/
├── config.yml
└── audit.yml
A world counts as "managed" if its folder in blueprint/ contains a blueprint.yml. /bp list is built by scanning for those files.
Some Paper 1.21 builds move a custom world's region data into the main world's dimensions folder, for example blueprint/world/dimensions/minecraft/castle/. Blueprint follows the world to wherever Paper keeps it, and blueprint.yml stays in blueprint/castle/. If you cannot find a world's region/ or snapshots/ folder where you expect it, look there.
blueprint.yml
One per managed world. It records the world's name, status, owner, and snapshot list:
name: castle
folder_name: castle
owner_uuid: 3f2c9d0e-... # the player who created or imported it, empty for console
status: LOCKED # OPEN, CLOSED, or LOCKED
created_at: 1758600930000 # milliseconds since 1970, UTC
updated_at: 1758604530000
last_opened_at: 1758600930000
last_closed_at: null
snapshots:
- id: snap-2026-09-23-041530
actor_uuid: 3f2c9d0e-...
created_at: 1758600930000
label: null
- id: pre-restore-2026-09-23-052210
actor_uuid: 3f2c9d0e-...
created_at: 1758604930000
label: auto-backup before restore of snap-2026-09-23-041530
Blueprint reads this file each time it looks up a world. If you edit it by hand, stop the server first and keep the YAML valid. A file that cannot be parsed is skipped with a warning in the console, and that world disappears from /bp list until it is fixed.
Deleting blueprint.yml makes Blueprint forget the world without touching its files. You can bring it back with /bp import, although its snapshot list will be lost.
audit.yml
A record of every change made through Blueprint, in plugins/Blueprint/audit.yml:
logs:
- action: CREATE_WORLD
world: castle
actor: 3f2c9d0e-...
detail: folder=castle
occurred_at: 1758600930000
- action: CREATE_SNAPSHOT
world: castle
actor: 3f2c9d0e-...
detail: snap-2026-09-23-041530
occurred_at: 1758601200000
actor is the player's UUID, or empty when the action came from the console or was not tied to a player. Only the most recent 1,000 entries are kept.
| Action | Logged when | detail |
|---|---|---|
CREATE_WORLD | /bp create | folder=<folder> |
IMPORT_WORLD | /bp import | folder=<folder> |
OPEN_WORLD | /bp open | - |
CLOSE_WORLD | /bp close | - |
LOCK_WORLD | /bp lock | - |
UNLOCK_WORLD | /bp unlock | - |
CLONE_WORLD | /bp clone finishes | source=<source world> |
RENAME_WORLD | /bp rename | renamed-from=<old name> |
CREATE_SNAPSHOT | /bp snapshot create finishes | snapshot ID |
RESTORE_SNAPSHOT | /bp snapshot restore finishes | snapshot ID |
DELETE_SNAPSHOT | /bp snapshot delete | snapshot ID |
DELETE_WORLD | /bp delete | folder=<folder> |
Open, close, lock, and unlock are logged without an actor.
Backing up
To back up everything Blueprint knows about, copy the whole blueprint/ folder and plugins/Blueprint/ with the server stopped. Snapshots are inside the world folders, so they come along automatically.