Skip to main content

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.

Paper may relocate world data

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
Edit with the server stopped

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.

ActionLogged whendetail
CREATE_WORLD/bp createfolder=<folder>
IMPORT_WORLD/bp importfolder=<folder>
OPEN_WORLD/bp open-
CLOSE_WORLD/bp close-
LOCK_WORLD/bp lock-
UNLOCK_WORLD/bp unlock-
CLONE_WORLD/bp clone finishessource=<source world>
RENAME_WORLD/bp renamerenamed-from=<old name>
CREATE_SNAPSHOT/bp snapshot create finishessnapshot ID
RESTORE_SNAPSHOT/bp snapshot restore finishessnapshot ID
DELETE_SNAPSHOT/bp snapshot deletesnapshot ID
DELETE_WORLD/bp deletefolder=<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.