This commit is contained in:
DaanV2
2021-04-04 13:52:35 +02:00
parent f23e8aae6b
commit 75bd662053
952 changed files with 1050 additions and 1026 deletions

View File

@@ -0,0 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.conditions",
"description": "A minecraft loot table condition",
"title": "Condition",
"allOf": [
{ "if": { "properties": { "condition": { "type": "string", "const": "entity_properties" } } }, "then": { "$ref": "./conditions/entity_properties.json" } },
{ "if": { "properties": { "condition": { "type": "string", "const": "has_mark_variant" } } }, "then": { "$ref": "./conditions/has_mark_variant.json" } },
{ "if": { "properties": { "condition": { "type": "string", "const": "killed_by_player" } } }, "then": { "$ref": "./conditions/killed_by_player.json" } },
{ "if": { "properties": { "condition": { "type": "string", "const": "killed_by_player_or_pets" } } }, "then": { "$ref": "./conditions/killed_by_player_or_pets.json" } },
{ "if": { "properties": { "condition": { "type": "string", "const": "random_chance" } } }, "then": { "$ref": "./conditions/random_chance.json" } },
{ "if": { "properties": { "condition": { "type": "string", "const": "random_chance_with_looting" } } }, "then": { "$ref": "./conditions/random_chance_with_looting.json" } },
{ "if": { "properties": { "condition": { "type": "string", "const": "random_difficulty_chance" } } }, "then": { "$ref": "./conditions/random_difficulty_chance.json" } },
{
"if": { "properties": { "condition": { "type": "string", "const": "random_regional_difficulty_chance" } } },
"then": { "$ref": "./conditions/random_regional_difficulty_chance.json" }
}
]
}

View File

@@ -0,0 +1,20 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.entity_properties",
"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" } }
}
}
}

View File

@@ -0,0 +1,12 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.has_mark_variant",
"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" }
}
}

View File

@@ -0,0 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.killed_by_player",
"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" } }
}

View File

@@ -0,0 +1,9 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.killed_by_player_or_pets",
"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" } }
}

View File

@@ -0,0 +1,13 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.random_chance",
"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" }
}
}

View File

@@ -0,0 +1,18 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.random_chance_with_looting",
"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"
}
}
}

View File

@@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.random_difficulty_chance",
"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"
}
}
}

View File

@@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.condition.random_regional_difficulty_chance",
"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"
}
}
}

View File

@@ -0,0 +1,30 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.Functions",
"description": "A minecraft loot table condition",
"title": "Functions",
"allOf": [
{ "if": { "properties": { "function": { "type": "string", "const": "enchant_random_gear" } } }, "then": { "$ref": "./functions/enchant_random_gear.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "enchant_book_for_trading" } } }, "then": { "$ref": "./functions/enchant_book_for_trading.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "enchant_randomly" } } }, "then": { "$ref": "./functions/enchant_randomly.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "enchant_with_levels" } } }, "then": { "$ref": "./functions/enchant_with_levels.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "exploration_map" } } }, "then": { "$ref": "./functions/exploration_map.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "fill_container" } } }, "then": { "$ref": "./functions/fill_container.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "furnace_smelt" } } }, "then": { "$ref": "./functions/furnace_smelt.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "looting_enchant" } } }, "then": { "$ref": "./functions/looting_enchant.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "random_aux_value" } } }, "then": { "$ref": "./functions/random_aux_value.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "random_block_state" } } }, "then": { "$ref": "./functions/random_block_state.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_actor_id" } } }, "then": { "$ref": "./functions/set_actor_id.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_banner_details" } } }, "then": { "$ref": "./functions/set_banner_details.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_book_contents" } } }, "then": { "$ref": "./functions/set_book_contents.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_count" } } }, "then": { "$ref": "./functions/set_count.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_damage" } } }, "then": { "$ref": "./functions/set_damage.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_data" } } }, "then": { "$ref": "./functions/set_data.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_data_from_color_index" } } }, "then": { "$ref": "./functions/set_data_from_color_index.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "trader_material_type" } } }, "then": { "$ref": "./functions/trader_material_type.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "random_dye" } } }, "then": { "$ref": "./functions/random_dye.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_lore" } } }, "then": { "$ref": "./functions/set_lore.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "set_name" } } }, "then": { "$ref": "./functions/set_name.json" } },
{ "if": { "properties": { "function": { "type": "string", "const": "specific_enchants" } } }, "then": { "$ref": "./functions/specific_enchants.json" } }
]
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.enchant_book_for_trading",
"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" }
}
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.enchant_random_gear",
"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"
}
}
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.enchant_randomly",
"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"
}
}
}

View File

@@ -0,0 +1,24 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.enchant_with_levels",
"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" }
}
}

View File

@@ -0,0 +1,16 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.exploration_map",
"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"
}
}
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.fill_container",
"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" }
}
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.furnace_smelt",
"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": "../conditions.json" } }
}
}

View File

@@ -0,0 +1,17 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.looting_enchant",
"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
}
}
}

View File

@@ -0,0 +1,17 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.random_aux_value",
"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
}
}
}

View File

@@ -0,0 +1,18 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.random_block_state",
"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
}
}
}

View File

@@ -0,0 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.random_dye",
"additionalProperties": false,
"description": "The function random_dye",
"title": "Trader Material Type",
"properties": { "function": { "type": "string", "const": "random_dye", "description": "TODO description", "title": "TODO Title" } }
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_actor_id",
"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" }
}
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_banner_details",
"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" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_book_contents",
"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"
}
}
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_count",
"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"
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_damage",
"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"
}
}
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_data",
"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"
}
}
}

View File

@@ -0,0 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_data_from_color_index",
"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" } }
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_lore",
"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" }
}
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.set_name",
"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" }
}
}

View File

@@ -0,0 +1,84 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.specific_enchants",
"additionalProperties": false,
"description": "The function specific_enchants",
"title": "Specific Enchants",
"definitions": {
"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"
]
},
"Enchant": {
"type": "object",
"title": "Enchantment",
"additionalProperties": false,
"properties": {
"id": { "$ref": "#/definitions/IDEnchant" },
"level": {
"title": "Level",
"oneOf": [
{ "type": "integer", "title": "Level" },
{
"type": "array",
"items": [
{ "type": "integer", "title": "Min" },
{ "type": "integer", "title": "Max" }
]
}
]
}
}
}
},
"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/IDEnchant" },
{ "type": "object", "$ref": "#/definitions/Enchant" },
{ "type": "array", "items": { "$ref": "#/definitions/Enchant" } }
]
}
}
}

View File

@@ -0,0 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.loot_tables.trader_material_type",
"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" } }
}

View File

@@ -0,0 +1,86 @@
{
"$schema": "http://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": "./conditions.json" } },
"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": "./functions.json" } },
"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" }
}
}
}
}
}
},
"properties": {
"pools": { "$ref": "#/definitions/pools_spec", "description": "TODO description", "title": "TODO Title" },
"type": { "title": "Type", "type": "string", "description": "TODO description", "enum": ["minecraft:chest"] }
}
}