From 068dcbfae901b63b54b2a474ca33ad1077bcfd0c Mon Sep 17 00:00:00 2001 From: Tony Bark Date: Fri, 3 May 2024 09:15:42 -0400 Subject: [PATCH] JBlueprint schema --- docs/jblueprint.json | 151 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 docs/jblueprint.json diff --git a/docs/jblueprint.json b/docs/jblueprint.json new file mode 100644 index 0000000..6b233f5 --- /dev/null +++ b/docs/jblueprint.json @@ -0,0 +1,151 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "JBlueprint Schema", + "description": "Schema for JSON Blueprint (JBlueprint) format used in My Simulation.", + "type": "object", + "properties": { + "house": { + "type": "object", + "properties": { + "version": { + "type": "number" + }, + "size": { + "type": "number" + }, + "category": { + "type": "number" + }, + "world": { + "type": "object", + "properties": { + "floors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "level": { + "type": "number" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "value": { + "type": "number" + } + }, + "required": [ + "level", + "x", + "y", + "value" + ] + } + }, + "walls": { + "type": "array", + "items": { + "type": "object", + "properties": { + "level": { + "type": "number" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "tls": { + "type": "number" + }, + "trs": { + "type": "number" + }, + "tlp": { + "type": "number" + }, + "brp": { + "type": "number" + }, + "blp": { + "type": "number" + }, + "segments": { + "type": "string" + }, + "placement": { + "type": "number" + } + }, + "required": [ + "level", + "x", + "y", + "tls", + "trs", + "tlp", + "brp", + "blp", + "segment", + "placement" + ] + } + } + }, + "required": [ + "floors", + "walls" + ] + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "guid": { + "type": "number" + }, + "level": { + "type": "number" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "dir": { + "type": "number" + }, + "group": { + "type": "number" + } + }, + "required": [ + "guid", + "level", + "x", + "y", + "dir", + "group" + ] + } + } + }, + "required": [ + "version", + "size", + "category", + "world", + "items" + ] + } + }, + "required": [ + "house" + ] +} \ No newline at end of file