{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.behavior.dialogue", "examples": [ { "format_version": "1.19.0", "minecraft:npc_dialogue": { "scenes": [ { "scene_tag": "fast_travel", "npc_name": { "rawtext": [{ "translate": "dialogue.guide.name" }] }, "text": { "rawtext": [{ "translate": "dialogue.fast_travel.body", "with": ["\n"] }] }, "buttons": [] } ] } } ], "type": "object", "title": "NPC Dialogue", "description": "Specifies the dialogue scenes.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "required": ["format_version", "minecraft:npc_dialogue"], "properties": { "format_version": { "$ref": "../../general/format_version.json" }, "minecraft:npc_dialogue": { "title": "NPC Dialogue", "description": "Specifies the dialogue of an npc.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "scenes": { "title": "Scenes", "description": "The different scenes.", "$comment": "UNDOCUMENTED", "type": "array", "minItems": 1, "items": { "title": "Scene", "description": "A single scene specification.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "required": ["scene_tag"], "examples": [{ "scene_tag": "foo_intro" }], "properties": { "buttons": { "title": "Buttons", "description": "This is where you can create buttons for your NPC.", "type": "array", "maxItems": 6, "items": { "title": "Button", "description": "This is where you can create buttons for your NPC.", "type": "object", "additionalProperties": false, "properties": { "name": { "title": "Name", "description": "Set the text that is going to be displayed on your NPC’s button.", "oneOf": [{ "type": "string" }, { "$ref": "../../general/rawtext/rawtext.json" }] }, "commands": { "type": "array", "description": "allows you to add commands which will be run in-game when the button is pressed.", "title": "Commands", "items": { "title": "Minecraft Command", "description": "The commands to execute.", "type": "string", "pattern": "^/[a-z].*$" } } } } }, "npc_name": { "title": "NPC Name", "description": "This is where you can add or change a name for your NPC dialogue box. This is an optional property that is useful for dynamically changing NPC names.", "oneOf": [{ "type": "string" }, { "$ref": "../../general/rawtext/rawtext.json" }] }, "on_close_commands": { "type": "array", "description": "This is where you can define which commands will fire when the NPC dialogue box closes.", "title": "On Close Commands", "items": { "title": "Minecraft Command", "description": "A minecraft command to execute.", "type": "string", "pattern": "^/[a-z].*$" } }, "on_open_commands": { "type": "array", "description": "This is where you can define which commands will fire when the NPC dialogue box opens.", "title": "On Close Commands", "items": { "title": "Minecraft Command", "description": "A minecraft command to execute.", "type": "string", "pattern": "^/[a-z].*$" } }, "scene_tag": { "title": "Scene Tag", "description": "This is the name you will use to call this scene in-game. This is a required property.", "type": "string" }, "text": { "title": "Text", "description": "This is where you enter the dialogue you want your NPC to display in-game for this scene. You can type the dialogue text directly here or use raw text if you are using a language file. This is an optional property, but without it your NPC dialogue box will be empty.", "oneOf": [{ "type": "string" }, { "$ref": "../../general/rawtext/rawtext.json" }] } } } } } } } }