Refactor
This commit is contained in:
19
source/behavior/loot_tables/conditions.json
Normal file
19
source/behavior/loot_tables/conditions.json
Normal 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" }
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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" } }
|
||||
}
|
||||
}
|
||||
}
|
||||
12
source/behavior/loot_tables/conditions/has_mark_variant.json
Normal file
12
source/behavior/loot_tables/conditions/has_mark_variant.json
Normal 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" }
|
||||
}
|
||||
}
|
||||
@@ -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" } }
|
||||
}
|
||||
@@ -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" } }
|
||||
}
|
||||
13
source/behavior/loot_tables/conditions/random_chance.json
Normal file
13
source/behavior/loot_tables/conditions/random_chance.json
Normal 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" }
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
30
source/behavior/loot_tables/functions.json
Normal file
30
source/behavior/loot_tables/functions.json
Normal 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" } }
|
||||
]
|
||||
}
|
||||
@@ -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" }
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
15
source/behavior/loot_tables/functions/enchant_randomly.json
Normal file
15
source/behavior/loot_tables/functions/enchant_randomly.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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" }
|
||||
}
|
||||
}
|
||||
16
source/behavior/loot_tables/functions/exploration_map.json
Normal file
16
source/behavior/loot_tables/functions/exploration_map.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
11
source/behavior/loot_tables/functions/fill_container.json
Normal file
11
source/behavior/loot_tables/functions/fill_container.json
Normal 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" }
|
||||
}
|
||||
}
|
||||
11
source/behavior/loot_tables/functions/furnace_smelt.json
Normal file
11
source/behavior/loot_tables/functions/furnace_smelt.json
Normal 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" } }
|
||||
}
|
||||
}
|
||||
17
source/behavior/loot_tables/functions/looting_enchant.json
Normal file
17
source/behavior/loot_tables/functions/looting_enchant.json
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
17
source/behavior/loot_tables/functions/random_aux_value.json
Normal file
17
source/behavior/loot_tables/functions/random_aux_value.json
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
8
source/behavior/loot_tables/functions/random_dye.json
Normal file
8
source/behavior/loot_tables/functions/random_dye.json
Normal 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" } }
|
||||
}
|
||||
11
source/behavior/loot_tables/functions/set_actor_id.json
Normal file
11
source/behavior/loot_tables/functions/set_actor_id.json
Normal 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" }
|
||||
}
|
||||
}
|
||||
@@ -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" }
|
||||
}
|
||||
}
|
||||
19
source/behavior/loot_tables/functions/set_book_contents.json
Normal file
19
source/behavior/loot_tables/functions/set_book_contents.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
15
source/behavior/loot_tables/functions/set_count.json
Normal file
15
source/behavior/loot_tables/functions/set_count.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
19
source/behavior/loot_tables/functions/set_damage.json
Normal file
19
source/behavior/loot_tables/functions/set_damage.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
15
source/behavior/loot_tables/functions/set_data.json
Normal file
15
source/behavior/loot_tables/functions/set_data.json
Normal 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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" } }
|
||||
}
|
||||
11
source/behavior/loot_tables/functions/set_lore.json
Normal file
11
source/behavior/loot_tables/functions/set_lore.json
Normal 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" }
|
||||
}
|
||||
}
|
||||
11
source/behavior/loot_tables/functions/set_name.json
Normal file
11
source/behavior/loot_tables/functions/set_name.json
Normal 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" }
|
||||
}
|
||||
}
|
||||
84
source/behavior/loot_tables/functions/specific_enchants.json
Normal file
84
source/behavior/loot_tables/functions/specific_enchants.json
Normal 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" } }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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" } }
|
||||
}
|
||||
86
source/behavior/loot_tables/loot_tables.json
Normal file
86
source/behavior/loot_tables/loot_tables.json
Normal 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"] }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user