forked from Blockception/Minecraft-bedrock-json-schemas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
loot_tables.json
1 lines (1 loc) · 20.7 KB
/
loot_tables.json
1
{"$schema":"http:https://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.loot_tables","additionalProperties":false,"description":"A minecraft loot table","title":"Loot Table","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":"TODO description","type":"array","additionalProperties":false,"items":{"additionalProperties":false,"title":"A Single Pool","type":"object","properties":{"rolls":{"title":"Rolls","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":"","enum":["loot_table","item","empty"]},"conditions":{"title":"Conditions","description":"TODO","type":"array","items":{"$ref":"#/definitions/A"}},"entries":{"title":"Entries","type":"array","items":{"additionalProperties":false,"type":"object","required":["type"],"title":"Entry","properties":{"type":{"title":"Type","type":"string","enum":["item","empty","loot_table"]},"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},"functions":{"title":"Functions","type":"array","items":{"type":"object","required":["function"],"title":"Function","$ref":"#/definitions/J"}},"pools":{"$ref":"#/definitions/pools_spec"},"quality":{"title":"Quality","description":"UNDOCUMANTED","type":"integer"}}}},"tiers":{"title":"Tiers","description":"TODO description","type":"object","additionalProperties":false,"properties":{"bonus_chance":{"title":"Bonus Chance","description":"TODO description","type":"number"},"bonus_rolls":{"title":"Bonus Rolls","description":"TODO description","type":"integer"},"initial_range":{"title":"Initial Range","description":"TODO description","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":"TODO"},"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":"TODO","type":"boolean"},"on_ground":{"title":"On Fire","description":"TODO","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":"TODO"},"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":"TODO"}}},"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":"TODO"}}},"F":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value.","title":"Random Chance","properties":{"condition":{"type":"string","title":"Condition","description":"TODO"},"chance":{"type":"number","default":0,"description":"TODO","title":"Chance"},"max_chance":{"type":"number","default":0,"description":"The maximum random chance value allowed.","title":"Max 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":"TODO"},"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":"TODO"},"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 max regional difficulty random chance of the specified value.","title":"Random Regional Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"TODO"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"max_chance":{"title":"Max Chance","type":"number","description":"UNDOCUMENATED"},"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,"description":"The function enchant_random_gear","title":"Enchant Random Gear","properties":{"function":{"type":"string","const":"enchant_random_gear","title":"Function","description":"TODO description"},"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,"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":"TODO description"},"base_cost":{"type":"integer","title":"Base Cost","description":"TODO description"},"base_random_cost":{"type":"integer","title":"Base Cost","description":"TODO description"},"per_level_random_cost":{"type":"integer","title":"Base Cost","description":"TODO description"},"per_level_cost":{"type":"integer","title":"Base Cost","description":"TODO description"}}},"BC":{"additionalProperties":false,"description":"The function enchant_randomly","title":"Enchant Randomly","properties":{"function":{"type":"string","const":"enchant_randomly","title":"Function","description":"TODO description"},"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","properties":{"function":{"type":"string","const":"enchant_with_levels","description":"TODO description","title":"TODO Title"},"levels":{"title":"Levels","oneOf":[{"type":"integer"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"TODO description"},"treasure":{"type":"boolean","title":"Treasure","description":"TODO description"}}},"BE":{"additionalProperties":false,"description":"The function exploration_map","title":"Exploration Map","properties":{"function":{"type":"string","const":"exploration_map","description":"TODO description","title":"TODO Title"},"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":"TODO Title"}}},"BF":{"additionalProperties":false,"description":"The function fill_container","title":"Fill Container","properties":{"function":{"type":"string","const":"fill_container","title":"Function","description":"TODO description"},"loot_table":{"type":"string","title":"Loot Table","pattern":"^loot_tables/.*\\.json$","description":"TODO description"}}},"BG":{"additionalProperties":false,"description":"The function furnace_smelt","title":"Furnace Smelt","properties":{"function":{"type":"string","const":"furnace_smelt","description":"TODO description","title":"TODO Title"},"conditions":{"title":"Conditions","description":"TODO","type":"array","items":{"$ref":"#/definitions/A"}}}},"BH":{"additionalProperties":false,"description":"The function looting_enchant","title":"Looting Enchant","properties":{"function":{"type":"string","const":"looting_enchant","description":"TODO description","title":"TODO Title"},"count":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"TODO description","title":"TODO Title","additionalProperties":false}}},"BI":{"additionalProperties":false,"description":"The function random_aux_value","title":"Random Aux Value","properties":{"function":{"type":"string","const":"random_aux_value","description":"TODO description","title":"TODO Title"},"values":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"TODO description","title":"TODO Title","additionalProperties":false}}},"BJ":{"additionalProperties":false,"description":"The function random_block_state","title":"Random Block State","properties":{"function":{"type":"string","const":"random_block_state","description":"TODO description","title":"TODO Title"},"block_state":{"type":"string","description":"TODO description","title":"TODO Title"},"values":{"type":"object","properties":{"min":{"title":"Min","type":"integer"},"max":{"title":"Max","type":"integer"}},"description":"TODO description","title":"TODO Title","additionalProperties":false}}},"CA":{"additionalProperties":false,"description":"The function set_actor_id","title":"Set Actor Id","properties":{"function":{"type":"string","const":"set_actor_id","description":"TODO description","title":"TODO Title"},"id":{"type":"string","description":"TODO description","title":"TODO Title"}}},"CB":{"additionalProperties":false,"description":"The function set_banner_details","title":"Set Banner Details","properties":{"function":{"type":"string","const":"set_banner_details","description":"TODO description","title":"TODO Title"},"type":{"type":"integer","description":"TODO description","title":"TODO Title"}}},"CC":{"additionalProperties":false,"description":"The function set_book_contents","title":"Set Book Contents","required":["function","author","title","pages"],"properties":{"function":{"type":"string","const":"set_book_contents","description":"TODO description","title":"TODO Title"},"author":{"type":"string","description":"TODO description","title":"TODO Title"},"title":{"type":"string","description":"TODO description","title":"TODO Title"},"pages":{"type":"array","items":{"type":"string","examples":["Some text","{\"rawtext\":[ {\"translate\":\"some.text\"}]}"]},"description":"TODO description","title":"TODO Title"}}},"CD":{"additionalProperties":false,"description":"The function set_count","title":"Set Count","properties":{"function":{"type":"string","const":"set_count","title":"Function","description":"TODO description"},"count":{"title":"Count","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"TODO description"}}},"CE":{"additionalProperties":false,"description":"The function set_damage","title":"Set Damage","properties":{"function":{"type":"string","const":"set_damage","description":"TODO description","title":"TODO Title"},"damage":{"oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}}},{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}}}],"description":"TODO description","title":"TODO Title"}}},"CF":{"additionalProperties":false,"description":"The function set_data","title":"Set Data","properties":{"function":{"type":"string","const":"set_data","description":"TODO description","title":"TODO Title"},"data":{"title":"Data","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"TODO description"}}},"CG":{"additionalProperties":false,"description":"The function set_data_from_color_index","title":"Set Data From Color Index","properties":{"function":{"type":"string","const":"set_data_from_color_index","description":"TODO description","title":"TODO Title"}}},"CH":{"additionalProperties":false,"description":"The function trader_material_type","title":"Trader Material Type","properties":{"function":{"type":"string","const":"trader_material_type","description":"TODO description","title":"TODO Title"}}},"CI":{"additionalProperties":false,"description":"The function random_dye","title":"Trader Material Type","properties":{"function":{"type":"string","const":"random_dye","description":"TODO description","title":"TODO Title"}}},"CJ":{"additionalProperties":false,"description":"The function set_lore","title":"Set Lore","properties":{"function":{"type":"string","const":"set_lore","description":"TODO description","title":"TODO Title"},"lore":{"type":"array","items":{"type":"string"},"description":"TODO description","title":"TODO Title"}}},"DA":{"additionalProperties":false,"description":"The function set_name","title":"Set Name","properties":{"function":{"type":"string","const":"set_name","description":"TODO description","title":"TODO Title"},"name":{"type":"string","description":"TODO description","title":"TODO Title"}}},"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","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,"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","allOf":[{"if":{"properties":{"function":{"type":"string","const":"enchant_random_gear"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"function":{"type":"string","const":"enchant_book_for_trading"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"function":{"type":"string","const":"enchant_randomly"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"function":{"type":"string","const":"enchant_with_levels"}}},"then":{"$ref":"#/definitions/BD"}},{"if":{"properties":{"function":{"type":"string","const":"exploration_map"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"function":{"type":"string","const":"fill_container"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"function":{"type":"string","const":"furnace_smelt"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"function":{"type":"string","const":"looting_enchant"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"function":{"type":"string","const":"random_aux_value"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"function":{"type":"string","const":"random_block_state"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"function":{"type":"string","const":"set_actor_id"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"function":{"type":"string","const":"set_banner_details"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"function":{"type":"string","const":"set_book_contents"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"function":{"type":"string","const":"set_count"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"function":{"type":"string","const":"set_damage"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"function":{"type":"string","const":"set_data"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"function":{"type":"string","const":"set_data_from_color_index"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"function":{"type":"string","const":"trader_material_type"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"function":{"type":"string","const":"random_dye"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"function":{"type":"string","const":"set_lore"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"function":{"type":"string","const":"set_name"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"function":{"type":"string","const":"specific_enchants"}}},"then":{"$ref":"#/definitions/DB"}}]}},"properties":{"pools":{"$ref":"#/definitions/pools_spec","description":"TODO description","title":"TODO Title"},"type":{"title":"Type","type":"string","description":"TODO description","enum":["minecraft:chest"]}}}