1 line
7.3 KiB
JSON
Generated
1 line
7.3 KiB
JSON
Generated
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.dialogue","defaultSnippets":[{"format_version":"${1:1.20.80}","minecraft:npc_dialogue":{"scenes":[{"scene_tag":"$2"}]}}],"examples":[{"format_version":"1.20.80","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":"#/definitions/A"},"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":"#/definitions/B"}]},"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":"#/definitions/B"}]},"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":"#/definitions/B"}]}}}}}}},"definitions":{"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.21.60","examples":["1.21.50","1.20.80","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"B_rawtext":{"title":"Rawtext","description":"The raw text component, which consists of an array of text components.","$comment":"UNDOCUMENTED","type":"array","default":[],"example":[[{"translate":"example.language.key"}]],"items":{"oneOf":[{"type":"string"},{"$ref":"#/definitions/B_translate"},{"$ref":"#/definitions/B_text"},{"$ref":"#/definitions/B_selector"},{"$ref":"#/definitions/B_score"}]}},"B_selector":{"title":"Selector","description":"A text component that turns a selector into text, will usually display like: `Player1, Player2 and Player3`.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["selector"],"examples":[{"selector":"@s"},{"selector":"@p"}],"properties":{"selector":{"title":"Selector","description":"The selector to target, for dialogue files, you can use @initiator.","$comment":"UNDOCUMENTED","type":"string","examples":["@a","@s","@r","@p","@e","@initiator"],"pattern":"^@.*$"}}},"B_score":{"title":"Score","description":"A text component that grabs the score from an given target and turns its value of a specified score.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["score"],"examples":[{"score":{"name":"*","objective":"score"}},{"score":{"name":"@p","objective":"score"}}],"properties":{"score":{"title":"Score","description":"The score text component.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["name","objective"],"examples":[{"name":"*","objective":"random"},{"name":"@a[score={count=0..},c=1]","objective":"count"}],"properties":{"name":{"title":"Selector","description":"A selector, player name (can be fake), or * to target who is reading the message.","type":"string","examples":["@a","@s","@r","@p","@e","@initiator","*"]},"objective":{"title":"Objective","description":"The scoreboard objective to retrieve the value of.","$comment":"UNDOCUMENTED","type":"string"}}}}},"B_text":{"title":"Text","description":"A simple text component, will display the text raw (without processing).","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["text"],"examples":[{"text":"Hello World!"}],"properties":{"text":{"title":"Text","description":"The text to display.","$comment":"UNDOCUMENTED","type":"string"}}},"B_translate":{"title":"Translate","description":"A text component that will attempt to translate the given key through the languages files.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["translate"],"examples":[{"translate":"example.translation.key"},{"translate":"example.translation.key","with":["\n"]}],"properties":{"translate":{"title":"Translate","description":"The key to translate.","$comment":"UNDOCUMENTED","type":"string","examples":["example.translation.key"]},"with":{"$ref":"#/definitions/B_with"}}},"B_with":{"title":"With","description":"Specifies for the translator that additional text component needs to be inserted, this will cause the translator to look for variables in the translation text and replaced them with the corresponding 'With' text component.","$comment":"UNDOCUMENTED","examples":["\n",{"rawtext":[]}],"items":{"oneOf":[{"type":"string"},{"title":"Rawtext","description":"Specifies that this 'with' component needs to be processed.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}]}},"B":{"title":"RawText","description":"A json structure that allows for translations, or go from scores and selectors to text.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["rawtext"],"examples":[{"rawtext":[]}],"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}}} |