2 Blueprint Specification v1
Florian CUNY edited this page 2019-07-19 16:30:27 +02:00

BentoBox Blueprint Specification

Version 1

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Introduction

This specification defines a format that describes a region (made up of blocks and entities) of a Minecraft world for the purpose of serialization and storage to disk or to JSON-based database. It is designed in order to allow maximum cross-compatibility between platforms, versions, and various states of modification.

The goal of the BentoBox Blueprint format is to grant us the ability to serialize regions of a Minecraft world to disk or to any user-chosen storage method to be later placed back in the world, while avoiding to rely on third-party softwares or plugins to provide us the serialization and deserialization capabilities.

Revision history

Version Date BentoBox version Description
1 2019-06-09 1.5.0 Initial version, derivative of the BentoBox Schem format

Definitions

Material

A Material is an ID provided by the Bukkit API that defines the literal type of a block or an item. It affects various rendering options client-side such as light, transparency or display. They represent a programmatical shortcut to the actual corresponding NamespacedKey.

Specifications

Format

The structure specified by this specification is persisted to the user-chosen storage method using the JavaScript Object Notation (JSON) format. The data must then be compressed using the ... data compression algorithm.

Files using this specification must use one of the following file extensions:

  • .blueprint ;
  • .blu

All field names in the specification are case sensitive.

Schema

Fields

Field name Type Description
name String Display name of the Blueprint
icon String Material of the item representing the Blueprint in game as an icon
attached Array
entities Array
blocks Array
xSize integer
ySize integer
zSize integer
bedrock Array