diff --git a/behavior/dialogue/dialogue.json b/behavior/dialogue/dialogue.json index 3aaeae55..5ac389bd 100644 --- a/behavior/dialogue/dialogue.json +++ b/behavior/dialogue/dialogue.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.dialogue","examples":[{"format_version":"1.14.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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["format_version","minecraft:npc_dialogue"],"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:npc_dialogue":{"title":"NPC Dialogue","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"scenes":{"title":"Scenes","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","minItems":1,"items":{"title":"Scene","description":"UNDOCUMENTED","$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","$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.","$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.","$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","examples":["1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${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"}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.dialogue","examples":[{"format_version":"1.14.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":"#/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","$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.","$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.","$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","examples":["1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${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"}}}}} \ No newline at end of file diff --git a/behavior/loot_tables/loot_tables.json b/behavior/loot_tables/loot_tables.json index 2f7d41e6..73a509b7 100644 --- a/behavior/loot_tables/loot_tables.json +++ b/behavior/loot_tables/loot_tables.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.loot_tables","additionalProperties":false,"description":"A minecraft loot table","title":"Loot Table","type":"object","examples":[{"pools":[{"rolls":1,"entries":[{"type":"item","name":"minecraft:spawn_egg","weight":1,"functions":[{"function":"set_count","count":{"min":1,"max":1}},{"function":"set_actor_id"}]}]}]}],"definitions":{"pools_spec":{"title":"Pools","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":{"additionalProperties":false,"title":"A Single Pool","type":"object","properties":{"rolls":{"title":"Rolls","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer","minimum":0},{"type":"object","required":["min","max"],"properties":{"min":{"title":"Minimum","type":"number","minimum":0},"max":{"title":"Minimum","type":"number","minimum":1}}}]},"type":{"title":"Type","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["loot_table","item","empty"]},"conditions":{"title":"Conditions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}},"entries":{"title":"Entries","type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","required":["type"],"title":"Entry","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"type":{"title":"Type","type":"string","enum":["item","empty","loot_table"],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"count":{"type":"integer","title":"Count","description":"The amount of the item"},"name":{"title":"Name","type":"string","description":"An item or loottable","pattern":"^([\\w]+:|loot_tables/)"},"weight":{"title":"Weight","type":"integer","minimum":1,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"functions":{"title":"Functions","type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["function"],"title":"Function","$ref":"#/definitions/J"}},"pools":{"$ref":"#/definitions/pools_spec"},"quality":{"title":"Quality","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}}},"tiers":{"title":"Tiers","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"bonus_chance":{"title":"Bonus Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"bonus_rolls":{"title":"Bonus Rolls","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"initial_range":{"title":"Initial Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}}}}},"B":{"type":"object","additionalProperties":false,"description":"Returns true if the actor properties defined were executed.","title":"Entity Properties","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"entity":{"type":"string","default":"this","description":"The entity to test. The value must be only `this`.","title":"Entity"},"properties":{"type":"object","default":{},"description":"The entity's properties. `on_fire`, `on_ground` is used for now.","title":"Properties","additionalProperties":false,"properties":{"on_fire":{"title":"On Fire","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"on_ground":{"title":"On Fire","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}}}}},"C":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor's mark variant is matched to the value.","title":"Has Mark Variant","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"value":{"type":"integer","default":"0","description":"Tests for the actor's mark variant (if it has one)","title":"Value"}}},"D":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"E":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player Or Pets Or Pets","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"F":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value.","title":"Random Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"max_chance":{"type":"number","default":0,"description":"The maximum random chance value allowed.","title":"Maximum Chance"}}},"G":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value. Looting enchantment increase the random chance multiplier.","title":"Random Chance With Looting","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"The random chance of the value.","title":"Chance"},"looting_multiplier":{"type":"number","default":0,"description":"The multiplier for the chance if the target entity has the looting enchant that affects the actor.","title":"Looting Multiplier"}}},"H":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value based on the level difficulty.","title":"Random Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"I":{"type":"object","additionalProperties":false,"description":"Sets a Maximum regional difficulty random chance of the specified value.","title":"Random Regional Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"max_chance":{"title":"Maximum Chance","type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"A":{"description":"A minecraft loot table condition","title":"Condition","allOf":[{"if":{"properties":{"condition":{"type":"string","const":"entity_properties"}}},"then":{"$ref":"#/definitions/B"}},{"if":{"properties":{"condition":{"type":"string","const":"has_mark_variant"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player_or_pets"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance_with_looting"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"condition":{"type":"string","const":"random_difficulty_chance"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"condition":{"type":"string","const":"random_regional_difficulty_chance"}}},"then":{"$ref":"#/definitions/I"}}]},"BA":{"additionalProperties":false,"type":"object","description":"The function enchant_random_gear","title":"Enchant Random Gear","properties":{"function":{"type":"string","const":"enchant_random_gear","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","description":"Takes a chance modifier to manipulate the algorithm. Note that a chance modifier of 1.0 doesn't mean a 100% chance that gear will become enchanted.","title":"Chance"}}},"BB":{"additionalProperties":false,"type":"object","description":"The function enchant_book_for_trading","title":"Enchant Book For Trading","required":["function","base_cost","base_random_cost","per_level_random_cost","per_level_cost"],"properties":{"function":{"type":"string","const":"enchant_book_for_trading","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BC":{"additionalProperties":false,"type":"object","description":"The function enchant_randomly","title":"Enchant Randomly","properties":{"function":{"type":"string","const":"enchant_randomly","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"treasure":{"type":"boolean","description":"Supports the optional treasure boolean (true/false) to allow treasure enchantments to be toggled on and off.","title":"Treasure"}}},"BD":{"additionalProperties":false,"description":"The function enchant_with_levels","title":"Enchant With Levels","type":"object","properties":{"function":{"type":"string","const":"enchant_with_levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"levels":{"title":"Levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}]},"treasure":{"type":"boolean","title":"Treasure","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BE":{"additionalProperties":false,"description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Exploration Map","type":"object","properties":{"function":{"type":"string","const":"exploration_map","description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Function"},"destination":{"type":"string","description":"The destination value defines what type of treasure map they receive.","enum":["endcity","fortress","mineshaft","monument","ruins","stronghold","temple","village","mansion","shipwreck","buriedtreasure","pillageroutpost"],"title":"Destination"}}},"BF":{"additionalProperties":false,"type":"object","description":"The function fill_container","title":"Fill Container","properties":{"function":{"type":"string","const":"fill_container","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"loot_table":{"type":"string","title":"Loot Table","pattern":"^loot_tables/.*\\.json$","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BG":{"additionalProperties":false,"type":"object","description":"If the item to return has a smelted crafting recipe and the loot table is triggered by an entity killed with fire. the result will be the smelted version of the item","title":"Furnace Smelt","properties":{"function":{"type":"string","const":"furnace_smelt","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"conditions":{"title":"Conditions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}}}},"BH":{"additionalProperties":false,"description":"The function looting_enchant","title":"Looting Enchant","type":"object","properties":{"function":{"type":"string","const":"looting_enchant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"count":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Count","additionalProperties":false}}},"BI":{"additionalProperties":false,"description":"The function random_aux_value","title":"Random Aux Value","type":"object","properties":{"function":{"type":"string","const":"random_aux_value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"values":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false,"type":"object","properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum"}}}}},"BJ":{"additionalProperties":false,"description":"The function random_block_state","title":"Random Block State","type":"object","properties":{"function":{"type":"string","const":"random_block_state","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"block_state":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block State"},"values":{"type":"object","properties":{"min":{"title":"Min","type":"integer"},"max":{"title":"Max","type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false}}},"CA":{"additionalProperties":false,"description":"The function set_actor_id","title":"Set Actor Id","type":"object","properties":{"function":{"type":"string","const":"set_actor_id","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"id":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Id"}}},"CB":{"additionalProperties":false,"description":"The function set_banner_details","title":"Set Banner Details","type":"object","properties":{"function":{"type":"string","const":"set_banner_details","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"type":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Type"}}},"CC":{"additionalProperties":false,"description":"The function set_book_contents","title":"Set Book Contents","required":["function","author","title","pages"],"type":"object","properties":{"function":{"type":"string","const":"set_book_contents","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"author":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Author"},"title":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Title"},"pages":{"type":"array","items":{"type":"string","examples":["Some text","{`rawtext`:[ {`translate`:`some.text`}]}"]},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Pages"}}},"CD":{"additionalProperties":false,"type":"object","description":"The function set_count","title":"Set Count","properties":{"function":{"type":"string","const":"set_count","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"count":{"title":"Count","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"CE":{"additionalProperties":false,"description":"The function set_damage","title":"Set Damage","type":"object","properties":{"function":{"type":"string","const":"set_damage","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"damage":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"number","minimum":0,"maximum":1},{"type":"object","properties":{"min":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum","minimum":0,"maximum":1},"max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum","minimum":0,"maximum":1}}}]}}},"CF":{"additionalProperties":false,"description":"The function set_data","title":"Set Data","type":"object","properties":{"function":{"type":"string","const":"set_data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"data":{"title":"Data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max":{"type":"integer","title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}]}}},"CG":{"additionalProperties":false,"description":"The function set_data_from_color_index","title":"Set Data From Color Index","type":"object","properties":{"function":{"type":"string","const":"set_data_from_color_index","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CH":{"additionalProperties":false,"description":"The function trader_material_type","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"trader_material_type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CI":{"additionalProperties":false,"description":"The function random_dye","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"random_dye","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CJ":{"additionalProperties":false,"description":"The function set_lore","title":"Set Lore","type":"object","properties":{"function":{"type":"string","const":"set_lore","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"lore":{"type":"array","items":{"type":"string"},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Lore"}}},"DA":{"additionalProperties":false,"description":"The function set_name","title":"Set Name","type":"object","properties":{"function":{"type":"string","const":"set_name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"name"}}},"DB_IDEnchant":{"type":"string","title":"ID Enchantment","enum":["aqua_affinity","bane_of_arthropods","blast_protection","channeling","curse_of_binding","curse_of_vanishing","depth_strider","efficiency","feather_falling","fire_aspect","fire_protection","flame","fortune","frost_walker","impaling","infinity","knockback","looting","loyalty","luck_of_the_sea","lure","mending","multishot","piercing","projectile_protection","protection","power","punch","quick_charge","respiration","riptide","sharpness","silk_touch","smite","soul_speed","thorns","unbreaking"]},"DB_Enchant":{"type":"object","title":"Enchantment","additionalProperties":false,"properties":{"id":{"$ref":"#/definitions/DB_IDEnchant"},"level":{"title":"Level","oneOf":[{"type":"integer","title":"Level"},{"type":"array","items":[{"type":"integer","title":"Min"},{"type":"integer","title":"Max"}]}]}}},"DB":{"additionalProperties":false,"type":"object","description":"The function specific_enchants","title":"Specific Enchants","properties":{"function":{"type":"string","const":"specific_enchants","description":"Specific enchants","title":"Specific Enchants"},"enchants":{"title":"Enchants","description":"A enchanting specification","oneOf":[{"type":"string","$ref":"#/definitions/DB_IDEnchant"},{"type":"object","$ref":"#/definitions/DB_Enchant"},{"type":"array","items":{"$ref":"#/definitions/DB_Enchant"}}]}}},"J":{"description":"A minecraft loot table condition","title":"Functions","type":"object","properties":{"function":{"type":"string","enum":["enchant_random_gear","enchant_book_for_trading","enchant_randomly","enchant_with_levels","exploration_map","fill_container","furnace_smelt","looting_enchant","random_aux_value","random_block_state","set_actor_id","set_banner_details","set_book_contents","set_count","set_damage","set_data","set_data_from_color_index","trader_material_type","random_dye","set_lore","set_name","specific_enchants"]}},"allOf":[{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_random_gear$"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_book_for_trading$"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_randomly$"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_with_levels$"}}},"then":{"$ref":"#/definitions/BD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*exploration_map$"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*fill_container$"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*furnace_smelt$"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*looting_enchant$"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_aux_value$"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_block_state$"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_actor_id$"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_banner_details$"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_book_contents$"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_count$"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_damage$"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data$"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data_from_color_index$"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*trader_material_type$"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_dye$"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_lore$"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_name$"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*specific_enchants$"}}},"then":{"$ref":"#/definitions/DB"}}]}},"properties":{"pools":{"$ref":"#/definitions/pools_spec","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Pools"},"type":{"title":"Type","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["minecraft:chest"]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.loot_tables","additionalProperties":false,"description":"A minecraft loot table","title":"Loot Table","type":"object","examples":[{"pools":[{"rolls":1,"entries":[{"type":"item","name":"minecraft:spawn_egg","weight":1,"functions":[{"function":"set_count","count":{"min":1,"max":1}},{"function":"set_actor_id"}]}]}]}],"definitions":{"pools_spec":{"title":"Pools","description":"A collection of items where the system will choice one or more from","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":{"additionalProperties":false,"title":"A Single Pool","type":"object","properties":{"rolls":{"title":"Rolls","description":"Determines how many items, will be selected","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer","minimum":0},{"type":"object","required":["min","max"],"properties":{"min":{"title":"Minimum","type":"number","minimum":0,"description":"The minimum amount"},"max":{"title":"Maximum","type":"number","minimum":1,"description":"The maximum amount"}}}]},"type":{"title":"Type","type":"string","description":"Whenever this pool item is an item or another table","$comment":"UNDOCUMENTED","enum":["loot_table","item","empty"]},"conditions":{"title":"Conditions","description":"Possible conditions that need to have been met before selecting this item","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}},"entries":{"title":"Entries","type":"array","description":"The items specifiation of this pool","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","required":["type"],"title":"Entry","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"type":{"title":"Type","type":"string","enum":["item","empty","loot_table"],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"count":{"type":"integer","title":"Count","description":"The amount of the item"},"name":{"title":"Name","type":"string","description":"An item or loottable","pattern":"^([\\w]+:|loot_tables/)"},"weight":{"title":"Weight","type":"integer","minimum":1,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"functions":{"title":"Functions","type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["function"],"title":"Function","$ref":"#/definitions/J"}},"pools":{"$ref":"#/definitions/pools_spec"},"quality":{"title":"Quality","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}}},"tiers":{"title":"Tiers","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"bonus_chance":{"title":"Bonus Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"bonus_rolls":{"title":"Bonus Rolls","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"initial_range":{"title":"Initial Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}}}}},"B":{"type":"object","additionalProperties":false,"description":"Returns true if the actor properties defined were executed.","title":"Entity Properties","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"entity":{"type":"string","default":"this","description":"The entity to test. The value must be only `this`.","title":"Entity"},"properties":{"type":"object","default":{},"description":"The entity's properties. `on_fire`, `on_ground` is used for now.","title":"Properties","additionalProperties":false,"properties":{"on_fire":{"title":"On Fire","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"on_ground":{"title":"On Fire","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}}}}},"C":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor's mark variant is matched to the value.","title":"Has Mark Variant","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"value":{"type":"integer","default":"0","description":"Tests for the actor's mark variant (if it has one)","title":"Value"}}},"D":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"E":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player Or Pets Or Pets","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"F":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value.","title":"Random Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"max_chance":{"type":"number","default":0,"description":"The maximum random chance value allowed.","title":"Maximum Chance"}}},"G":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value. Looting enchantment increase the random chance multiplier.","title":"Random Chance With Looting","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"The random chance of the value.","title":"Chance"},"looting_multiplier":{"type":"number","default":0,"description":"The multiplier for the chance if the target entity has the looting enchant that affects the actor.","title":"Looting Multiplier"}}},"H":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value based on the level difficulty.","title":"Random Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"I":{"type":"object","additionalProperties":false,"description":"Sets a Maximum regional difficulty random chance of the specified value.","title":"Random Regional Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"max_chance":{"title":"Maximum Chance","type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"A":{"description":"A minecraft loot table condition","title":"Condition","allOf":[{"if":{"properties":{"condition":{"type":"string","const":"entity_properties"}}},"then":{"$ref":"#/definitions/B"}},{"if":{"properties":{"condition":{"type":"string","const":"has_mark_variant"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player_or_pets"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance_with_looting"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"condition":{"type":"string","const":"random_difficulty_chance"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"condition":{"type":"string","const":"random_regional_difficulty_chance"}}},"then":{"$ref":"#/definitions/I"}}]},"BA":{"additionalProperties":false,"type":"object","description":"The function enchant_random_gear","title":"Enchant Random Gear","properties":{"function":{"type":"string","const":"enchant_random_gear","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","description":"Takes a chance modifier to manipulate the algorithm. Note that a chance modifier of 1.0 doesn't mean a 100% chance that gear will become enchanted.","title":"Chance"}}},"BB":{"additionalProperties":false,"type":"object","description":"The function enchant_book_for_trading","title":"Enchant Book For Trading","required":["function","base_cost","base_random_cost","per_level_random_cost","per_level_cost"],"properties":{"function":{"type":"string","const":"enchant_book_for_trading","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BC":{"additionalProperties":false,"type":"object","description":"The function enchant_randomly","title":"Enchant Randomly","properties":{"function":{"type":"string","const":"enchant_randomly","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"treasure":{"type":"boolean","description":"Supports the optional treasure boolean (true/false) to allow treasure enchantments to be toggled on and off.","title":"Treasure"}}},"BD":{"additionalProperties":false,"description":"The function enchant_with_levels","title":"Enchant With Levels","type":"object","properties":{"function":{"type":"string","const":"enchant_with_levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"levels":{"title":"Levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}]},"treasure":{"type":"boolean","title":"Treasure","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BE":{"additionalProperties":false,"description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Exploration Map","type":"object","properties":{"function":{"type":"string","const":"exploration_map","description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Function"},"destination":{"type":"string","description":"The destination value defines what type of treasure map they receive.","enum":["endcity","fortress","mineshaft","monument","ruins","stronghold","temple","village","mansion","shipwreck","buriedtreasure","pillageroutpost"],"title":"Destination"}}},"BF":{"additionalProperties":false,"type":"object","description":"The function fill_container","title":"Fill Container","properties":{"function":{"type":"string","const":"fill_container","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"loot_table":{"type":"string","title":"Loot Table","pattern":"^loot_tables/.*\\.json$","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BG":{"additionalProperties":false,"type":"object","description":"If the item to return has a smelted crafting recipe and the loot table is triggered by an entity killed with fire. the result will be the smelted version of the item","title":"Furnace Smelt","properties":{"function":{"type":"string","const":"furnace_smelt","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"conditions":{"title":"Conditions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}}}},"BH":{"additionalProperties":false,"description":"The function looting_enchant","title":"Looting Enchant","type":"object","properties":{"function":{"type":"string","const":"looting_enchant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"count":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Count","additionalProperties":false}}},"BI":{"additionalProperties":false,"description":"The function random_aux_value","title":"Random Aux Value","type":"object","properties":{"function":{"type":"string","const":"random_aux_value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"values":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false,"type":"object","properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum"}}}}},"BJ":{"additionalProperties":false,"description":"The function random_block_state","title":"Random Block State","type":"object","properties":{"function":{"type":"string","const":"random_block_state","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"block_state":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block State"},"values":{"type":"object","properties":{"min":{"title":"Min","type":"integer"},"max":{"title":"Max","type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false}}},"CA":{"additionalProperties":false,"description":"The function set_actor_id","title":"Set Actor Id","type":"object","properties":{"function":{"type":"string","const":"set_actor_id","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"id":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Id"}}},"CB":{"additionalProperties":false,"description":"The function set_banner_details","title":"Set Banner Details","type":"object","properties":{"function":{"type":"string","const":"set_banner_details","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"type":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Type"}}},"CC":{"additionalProperties":false,"description":"The function set_book_contents","title":"Set Book Contents","required":["function","author","title","pages"],"type":"object","properties":{"function":{"type":"string","const":"set_book_contents","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"author":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Author"},"title":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Title"},"pages":{"type":"array","items":{"type":"string","examples":["Some text","{`rawtext`:[ {`translate`:`some.text`}]}"]},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Pages"}}},"CD":{"additionalProperties":false,"type":"object","description":"The function set_count","title":"Set Count","properties":{"function":{"type":"string","const":"set_count","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"count":{"title":"Count","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"CE":{"additionalProperties":false,"description":"The function set_damage","title":"Set Damage","type":"object","properties":{"function":{"type":"string","const":"set_damage","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"damage":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"number","minimum":0,"maximum":1},{"type":"object","properties":{"min":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum","minimum":0,"maximum":1},"max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum","minimum":0,"maximum":1}}}]}}},"CF":{"additionalProperties":false,"description":"The function set_data","title":"Set Data","type":"object","properties":{"function":{"type":"string","const":"set_data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"data":{"title":"Data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max":{"type":"integer","title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}]}}},"CG":{"additionalProperties":false,"description":"The function set_data_from_color_index","title":"Set Data From Color Index","type":"object","properties":{"function":{"type":"string","const":"set_data_from_color_index","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CH":{"additionalProperties":false,"description":"The function trader_material_type","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"trader_material_type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CI":{"additionalProperties":false,"description":"The function random_dye","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"random_dye","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CJ":{"additionalProperties":false,"description":"The function set_lore","title":"Set Lore","type":"object","properties":{"function":{"type":"string","const":"set_lore","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"lore":{"type":"array","items":{"type":"string"},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Lore"}}},"DA":{"additionalProperties":false,"description":"The function set_name","title":"Set Name","type":"object","properties":{"function":{"type":"string","const":"set_name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"name"}}},"DB_IDEnchant":{"type":"string","title":"ID Enchantment","enum":["aqua_affinity","bane_of_arthropods","blast_protection","channeling","curse_of_binding","curse_of_vanishing","depth_strider","efficiency","feather_falling","fire_aspect","fire_protection","flame","fortune","frost_walker","impaling","infinity","knockback","looting","loyalty","luck_of_the_sea","lure","mending","multishot","piercing","projectile_protection","protection","power","punch","quick_charge","respiration","riptide","sharpness","silk_touch","smite","soul_speed","thorns","unbreaking"]},"DB_Enchant":{"type":"object","title":"Enchantment","additionalProperties":false,"properties":{"id":{"$ref":"#/definitions/DB_IDEnchant"},"level":{"title":"Level","oneOf":[{"type":"integer","title":"Level"},{"type":"array","items":[{"type":"integer","title":"Min"},{"type":"integer","title":"Max"}]}]}}},"DB":{"additionalProperties":false,"type":"object","description":"The function specific_enchants","title":"Specific Enchants","properties":{"function":{"type":"string","const":"specific_enchants","description":"Specific enchants","title":"Specific Enchants"},"enchants":{"title":"Enchants","description":"A enchanting specification","oneOf":[{"type":"string","$ref":"#/definitions/DB_IDEnchant"},{"type":"object","$ref":"#/definitions/DB_Enchant"},{"type":"array","items":{"$ref":"#/definitions/DB_Enchant"}}]}}},"J":{"description":"A minecraft loot table condition","title":"Functions","type":"object","properties":{"function":{"type":"string","enum":["enchant_random_gear","enchant_book_for_trading","enchant_randomly","enchant_with_levels","exploration_map","fill_container","furnace_smelt","looting_enchant","random_aux_value","random_block_state","set_actor_id","set_banner_details","set_book_contents","set_count","set_damage","set_data","set_data_from_color_index","trader_material_type","random_dye","set_lore","set_name","specific_enchants"]}},"allOf":[{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_random_gear$"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_book_for_trading$"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_randomly$"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_with_levels$"}}},"then":{"$ref":"#/definitions/BD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*exploration_map$"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*fill_container$"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*furnace_smelt$"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*looting_enchant$"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_aux_value$"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_block_state$"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_actor_id$"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_banner_details$"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_book_contents$"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_count$"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_damage$"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data$"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data_from_color_index$"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*trader_material_type$"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_dye$"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_lore$"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_name$"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*specific_enchants$"}}},"then":{"$ref":"#/definitions/DB"}}]}},"properties":{"pools":{"$ref":"#/definitions/pools_spec","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Pools"},"type":{"title":"Type","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["minecraft:chest"]}}} \ No newline at end of file