Updated for 1.21.60 (#334)
* - Add crafting item catalogs * - Removed experimental warning for item visual * - Added renders_when_invisible entity component * - Removed experimental warning for liquid detection * - Added property inheritance to breedable * - Added min_looked_at_duration field to look_at component * - Added combine_parent_colors to breedable * - Update catalog file schema * - Split storage item components * - Added new entity filters * - Added surface opacity to water appearance biome component * - Remove actor_id loot table example as it is no longer the standard * - Add set_armor_trim trim loot table function * - Added match_tool loot table condition * - Added creature_spawn_probability component * - Added verticalFlySpeed to has_ability * - Update descriptions and default values * - Add base field to block_sounds * - Removed block sounds enum as creators can specify custom ones too * - Change default format version
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
"minecraft:capped_surface": { "$ref": "./components/capped_surface.json" },
|
||||
"minecraft:climate": { "$ref": "./components/climate.json" },
|
||||
"minecraft:consolidated_features": { "$ref": "./components/consolidated_features.json" },
|
||||
"minecraft:creature_spawn_probability": { "$ref": "./components/creature_spawn_probability.json" },
|
||||
"minecraft:frozen_ocean_surface": { "$ref": "./components/frozen_ocean_surface.json" },
|
||||
"minecraft:legacy_world_generation_rules": {
|
||||
"$ref": "./components/legacy_world_generation_rules.json"
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"$id": "minecraft.behavior.biomes.components.minecraft.creature_spawn_probability",
|
||||
"title": "Creature Spawn Probability",
|
||||
"description": "Probability that creatures will spawn within the biome when a chunk is generated.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"probability": {
|
||||
"type": "number",
|
||||
"title": "Probability",
|
||||
"description": "Probabiltity between [0.0, 0.75] of creatures spawning within the biome on chunk generation.",
|
||||
"minimum": 0.0,
|
||||
"maximum": 0.75
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.blocks.minecraft.item_visual",
|
||||
"title": "Item Visual",
|
||||
"description": "The description identifier of the geometry and material used to render the item of this block.\nExperimental toggles required: Upcoming Creator Features",
|
||||
"description": "The description identifier of the geometry and material used to render the item of this block.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ "geometry", "material_instances" ],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.blocks.minecraft.liquid_detection",
|
||||
"title": "Liquid Detection",
|
||||
"description": "The definitions for how a block behaves when detecting liquid. Only one rule definition is allowed per liquid type - if multiple are specified, the first will be used and the rest will be ignored.\nExperimental toggles required: Upcoming Creator Features",
|
||||
"description": "The definitions for how a block behaves when detecting liquid. Only one rule definition is allowed per liquid type - if multiple are specified, the first will be used and the rest will be ignored.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [ ],
|
||||
|
||||
@@ -112,7 +112,10 @@
|
||||
"$ref": "../../../general/vanilla/creative_category.json"
|
||||
},
|
||||
"group": {
|
||||
"$ref": "../../../general/vanilla/item_group.json"
|
||||
"title": "Group",
|
||||
"description": "A translation string of an existing group in minecraft to group this block/item under",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$"
|
||||
},
|
||||
"is_hidden_in_commands": {
|
||||
"title": "Is Hidden In Commands",
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
{ "if": { "properties": { "test": { "const": "has_tag" } } }, "then": { "$ref": "./filters/has_tag.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "has_target" } } }, "then": { "$ref": "./filters/has_target.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "has_trade_supply" } } }, "then": { "$ref": "./filters/has_trade_supply.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "home_distance" } } }, "then": { "$ref": "./filters/home_distance.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "hourly_clock_time" } } }, "then": { "$ref": "./filters/hourly_clock_time.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "in_block" } } }, "then": { "$ref": "./filters/in_block.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "in_caravan" } } }, "then": { "$ref": "./filters/in_caravan.json" } },
|
||||
@@ -119,6 +120,7 @@
|
||||
{ "if": { "properties": { "test": { "const": "is_avoiding_mobs" } } }, "then": { "$ref": "./filters/is_avoiding_mobs.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_biome" } } }, "then": { "$ref": "./filters/is_biome.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_block" } } }, "then": { "$ref": "./filters/is_block.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_bound_to_creaking_heart" } } }, "then": { "$ref": "./filters/is_bound_to_creaking_heart.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_brightness" } } }, "then": { "$ref": "./filters/is_brightness.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_climbing" } } }, "then": { "$ref": "./filters/is_climbing.json" } },
|
||||
{ "if": { "properties": { "test": { "const": "is_color" } } }, "then": { "$ref": "./filters/is_color.json" } },
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"value": {
|
||||
"type": "string",
|
||||
"description": "(Required) The Ability type to test.",
|
||||
"enum": ["flySpeed", "flying", "instabuild", "invulnerable", "lightning", "mayfly", "mute", "noclip", "walkSpeed", "worldbuilder"],
|
||||
"enum": ["flySpeed", "flying", "instabuild", "invulnerable", "lightning", "mayfly", "mute", "noclip", "walkSpeed", "worldbuilder", "verticalFlySpeed"],
|
||||
"title": "Value"
|
||||
}
|
||||
},
|
||||
|
||||
26
source/behavior/entities/filters/filters/home_distance.json
Normal file
26
source/behavior/entities/filters/filters/home_distance.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.filters.home_distance",
|
||||
"type": "object",
|
||||
"title": "Home Distance",
|
||||
"description": "Tests the distance between the subject and its home. Returns false if the subject has no home or if their home is in a different dimension.",
|
||||
"required": ["value"],
|
||||
"properties": {
|
||||
"test": {
|
||||
"type": "string",
|
||||
"title": "Test",
|
||||
"description": "The test property."
|
||||
},
|
||||
"operator": {
|
||||
"$ref": "./types/operator.json"
|
||||
},
|
||||
"subject": {
|
||||
"$ref": "./types/subject.json"
|
||||
},
|
||||
"value": {
|
||||
"description": "(Required) A floating point value.",
|
||||
"type": "number",
|
||||
"default": true,
|
||||
"title": "Value"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.filters.is_bound_to_creaking_heart",
|
||||
"type": "object",
|
||||
"title": "Is Bound To Creaking Heart",
|
||||
"description": "Tests that the Creaking Heart that spawned the subject Creaking still exists.",
|
||||
"properties": {
|
||||
"test": {
|
||||
"type": "string",
|
||||
"title": "Test Property",
|
||||
"description": "The test property."
|
||||
},
|
||||
"operator": {
|
||||
"$ref": "./types/operator.json"
|
||||
},
|
||||
"subject": {
|
||||
"$ref": "./types/subject.json"
|
||||
},
|
||||
"value": {
|
||||
"title": "Value",
|
||||
"description": "True or false.",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"test": "is_bound_to_creaking_heart",
|
||||
"value": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -11,7 +11,7 @@
|
||||
"listen_time": {
|
||||
"title": "Listen Time",
|
||||
"type": "integer",
|
||||
"default": 0.0,
|
||||
"default": 30,
|
||||
"description": "Sets the time an entity should continue delivering items to a noteblock after hearing it."
|
||||
},
|
||||
"on_item_throw": {
|
||||
|
||||
@@ -17,19 +17,19 @@
|
||||
"search_count": {
|
||||
"title": "Search Count",
|
||||
"type": "integer",
|
||||
"default": 0.0,
|
||||
"default": 10,
|
||||
"description": "The amount of times to try finding a random outdoors position before failing."
|
||||
},
|
||||
"search_height": {
|
||||
"title": "Search Height",
|
||||
"type": "integer",
|
||||
"default": 0.0,
|
||||
"default": 5,
|
||||
"description": "The y range to search for an outdoors position for."
|
||||
},
|
||||
"search_range": {
|
||||
"title": "Search Range",
|
||||
"type": "integer",
|
||||
"default": 0.0,
|
||||
"default": 15,
|
||||
"description": "The x and z range to search for an outdoors position for."
|
||||
},
|
||||
"timeout_cooldown": {
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
"min_ram_distance": {
|
||||
"title": "Min Ram Distance",
|
||||
"type": "number",
|
||||
"default": 0.0,
|
||||
"default": 4.0,
|
||||
"description": "The minimum distance at which the mob can start a ram attack."
|
||||
},
|
||||
"on_start": {
|
||||
@@ -53,7 +53,7 @@
|
||||
"ram_distance": {
|
||||
"title": "Ram Distance",
|
||||
"type": "number",
|
||||
"default": 0.0,
|
||||
"default": 7.0,
|
||||
"description": "The distance at which the mob start to run with ram speed."
|
||||
},
|
||||
"ram_impact_sound": {
|
||||
|
||||
@@ -27,13 +27,13 @@
|
||||
"title": "Digging Duration Range",
|
||||
|
||||
"$ref": "../../../../general/vectors/number2.json",
|
||||
"default": [0.0, 0.0],
|
||||
"default": [8.0, 10.0],
|
||||
"description": "Digging duration in seconds."
|
||||
},
|
||||
"find_valid_position_retries": {
|
||||
"title": "Find Valid Position Retries",
|
||||
"type": "number",
|
||||
"default": 0.0,
|
||||
"default": 5.0,
|
||||
"description": "Amount of retries to find a valid target position within search range."
|
||||
},
|
||||
"goal_radius": {
|
||||
@@ -80,13 +80,13 @@
|
||||
"search_range_xz": {
|
||||
"title": "Search Range XZ",
|
||||
"type": "number",
|
||||
"default": 0.0,
|
||||
"default": 10.0,
|
||||
"description": "Width and length of the volume around the entity used to find a valid target position"
|
||||
},
|
||||
"search_range_y": {
|
||||
"title": "Search Range Y",
|
||||
"type": "number",
|
||||
"default": 0.0,
|
||||
"default": 7.0,
|
||||
"description": "Height of the volume around the entity used to find a valid target position"
|
||||
},
|
||||
"spawn_item_after_seconds": {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"listen_time": {
|
||||
"title": "Listen Time",
|
||||
"type": "integer",
|
||||
"default": 0.0,
|
||||
"default": 30.0,
|
||||
"description": "Sets the time an entity should stay near a noteblock after hearing it."
|
||||
},
|
||||
"speed": {
|
||||
|
||||
@@ -165,6 +165,7 @@
|
||||
"minecraft:ravager_blocked": { "$ref": "./components/ravager_blocked.json" },
|
||||
"minecraft:rideable": { "$ref": "./components/rideable.json" },
|
||||
"minecraft:reflect_projectiles": { "$ref": "./components/reflect_projectiles.json" },
|
||||
"minecraft:renders_when_invisible": { "$ref": "./components/renders_when_invisible.json" },
|
||||
"minecraft:scale_by_age": { "$ref": "./components/scale_by_age.json" },
|
||||
"minecraft:scale": { "$ref": "./components/scale.json" },
|
||||
"minecraft:scheduler": { "$ref": "./components/scheduler.json" },
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"play_attack_sound": {
|
||||
"title": "Play Attack Sound",
|
||||
"type": "boolean",
|
||||
"default": 4.94066e-324,
|
||||
"default": true,
|
||||
"description": "If the entity should play their attack sound when attacking a target."
|
||||
}
|
||||
},
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
"default": 0,
|
||||
"minimum": 0.0,
|
||||
"maximum": 1.0,
|
||||
"description": "The percentage chance of a mutation on the entity's color.",
|
||||
"description": "The percentage chance of the offspring getting its color as if spawned rather than inheriting color from its parents.",
|
||||
"title": "Color"
|
||||
},
|
||||
"extra_variant": {
|
||||
@@ -227,6 +227,29 @@
|
||||
"type": "array",
|
||||
"description": "[EXPERIMENTAL] List of attributes that should benefit from parent centric attribute blending. For example, horses blend their health, movement, and jump_strength in their offspring."
|
||||
},
|
||||
"property_inheritance": {
|
||||
"title": "Property Inheritance",
|
||||
"description": "List of Entity Properties that should be inherited from the parent entities and potentially mutated.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"mutation_chance": {
|
||||
"title": "Mutation Chance",
|
||||
"description": "The chance it should not inherit from either parent",
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
},
|
||||
"mutation_values": {
|
||||
"title": "Mutation Values",
|
||||
"description": "Array of values to select from if mutating and the component has random mutation set",
|
||||
"type": "array",
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"random_extra_variant_mutation_interval": {
|
||||
"title": "Random Extra Variant Mutation Interval",
|
||||
"default": 0,
|
||||
@@ -245,6 +268,12 @@
|
||||
"description": "If true, the babies will be automatically tamed if its parents are.",
|
||||
"title": "Inherit Tamed"
|
||||
},
|
||||
"combine_parent_colors": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "If true, the babies will have their color be mixed.",
|
||||
"title": "Combine Parent Colors"
|
||||
},
|
||||
"require_full_health": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
|
||||
@@ -82,6 +82,12 @@
|
||||
"description": "Maximum distance this entity will look for another entity looking at it.",
|
||||
"title": "Search Radius"
|
||||
},
|
||||
"min_looked_at_duration": {
|
||||
"type": "number",
|
||||
"default": 0,
|
||||
"description": "Defines the minimum, continuous time the owner entity has to be looked at before being considered as such.",
|
||||
"title": "Min Looked At Duration"
|
||||
},
|
||||
"set_target": {
|
||||
"title": "Set Target",
|
||||
"description": "Defines if and how the owner entity will set entities that are looking at it as its combat targets. Valid values:\n- \"never\", looking entities are never set as targets, but events are emitted.\n- \"once_and_stop_scanning\", the first detected looking entity is set as target. Scanning and event emission is suspended if and until the owner entity has a target.\n- \"once_and_keep_scanning\", the first detected looking entity is set as target. Scanning and event emission continues.",
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.renders_when_invisible",
|
||||
"title": "Renders When Invisible",
|
||||
"description": "Marks the entity as being able to fly, the pathfinder won't be restricted to paths where a solid block is required underneath it.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {}
|
||||
}
|
||||
13
source/behavior/item_catalog/crafting_item_catalog.json
Normal file
13
source/behavior/item_catalog/crafting_item_catalog.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"$id": "blockception.minecraft.behavior.item_catalog.crafting_item_catalog",
|
||||
"type": "object",
|
||||
"title": "Crafting Item Catalog",
|
||||
"description": "Used to define the creative inventory/recipe book",
|
||||
"required": [ "format_version", "minecraft:crafting_items_catalog" ],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"format_version": { "$ref": "../../general/format_version.json" },
|
||||
"minecraft:crafting_items_catalog": { "$ref": "./format/crafting_items_catalog.json" }
|
||||
}
|
||||
}
|
||||
101
source/behavior/item_catalog/format/crafting_items_catalog.json
Normal file
101
source/behavior/item_catalog/format/crafting_items_catalog.json
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.item_catalog.format.minecraft.crafting_items_catalog",
|
||||
"type": "object",
|
||||
"title": "Crafting Items Catalog",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"categories"
|
||||
],
|
||||
"definitions": {
|
||||
"category": {
|
||||
"title": "Category",
|
||||
"description": "You can add new items to the existing categories.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["category_name", "groups"],
|
||||
"properties": {
|
||||
"category_name": {
|
||||
"title": "Category Name",
|
||||
"description": "Determines which category this block/item will be placed under in the inventory and crafting table container screens.",
|
||||
"enum": ["construction", "equipment", "items", "nature"]
|
||||
},
|
||||
"groups": {
|
||||
"title": "Groups",
|
||||
"description": "Defines a new group which will be added to the category you specify at the end of all existing items/groups.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/group"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"group": {
|
||||
"title": "Group",
|
||||
"description": "Represents a group of items. A group can be collapsible if it is provided with a group identifier, or added a set of loose items without an icon.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["items"],
|
||||
"properties": {
|
||||
"group_identifier": {
|
||||
"title": "Group Identifier",
|
||||
"description": "Optional field to give an icon and name to a group. Otherwise the items are added as loose items. If there are two groups with the same name within a category, they will merge.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["name"],
|
||||
"properties": {
|
||||
"icon": {
|
||||
"title": "Icon",
|
||||
"description": "The item or block that represents the group.",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"title": "Name",
|
||||
"description": "The localization string that is display when you hover over your group name. The localization string needs to include the namespace.",
|
||||
"type": "string",
|
||||
"pattern": "^(?:.)+:(?:.)+$"
|
||||
}
|
||||
}
|
||||
},
|
||||
"items": {
|
||||
"title": "Items",
|
||||
"description": "List of items to be added",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "The name of an item or block. A namespace for the item is required",
|
||||
"pattern": "^(?:.)+:(?:.)+$"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"description": "The name of an item or block. A namespace for the item is required",
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "You can optionally provide an aux value for items that use it at the end. Example: namespace:my_item:1",
|
||||
"type": "string",
|
||||
"pattern": "^(?:.)+:(?:.)+$"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"categories": {
|
||||
"title": "Categories",
|
||||
"description": "",
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"$ref": "#/definitions/category"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,20 +31,6 @@
|
||||
"type": "integer",
|
||||
"maximum": 64.0,
|
||||
"default": 64
|
||||
},
|
||||
"max_weight_limit": {
|
||||
"title": "Max Weight Limit",
|
||||
"description": "The maximum allowed weight of the sum of all contained items. Maximum is 64. Default is 64.",
|
||||
"type": "integer",
|
||||
"maximum": 64.0,
|
||||
"default": 64
|
||||
},
|
||||
"weight_in_storage_item": {
|
||||
"title": "Weight In Storage Item",
|
||||
"description": "The weight of this item when inside another Storage Item. Default is 4. 0 means item is not allowed in another Storage Item.",
|
||||
"type": "integer",
|
||||
"minimum": 0.0,
|
||||
"default": 4
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.items.minecraft:storage_weight_limit",
|
||||
"title": "Storage Weight Limit",
|
||||
"description": "Specifies the maximum weight limit that a storage item can hold",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"max_weight_limit": {
|
||||
"title": "Max Weight Limit",
|
||||
"description": "The maximum allowed weight of the sum of all contained items.",
|
||||
"type": "integer",
|
||||
"maximum": 64.0,
|
||||
"default": 64
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.items.minecraft:storage_weight_modifier",
|
||||
"title": "Storage Weight Modifier",
|
||||
"description": "Specifies the maximum weight limit that a storage item can hold.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"weight_in_storage_item": {
|
||||
"title": "Weight In Storage Item",
|
||||
"description": "The weight of this item when inside another Storage Item. 0 means item is not allowed in another Storage Item.",
|
||||
"type": "integer",
|
||||
"minimum": 0.0,
|
||||
"default": 4
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,10 @@
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"group": {
|
||||
"$ref": "../../../general/vanilla/item_group.json"
|
||||
"title": "Group",
|
||||
"description": "A translation string of an existing group in minecraft to group this block/item under",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9a-zA-Z:_\\.\\-]+$"
|
||||
},
|
||||
"category": {
|
||||
"$ref": "../../../general/vanilla/creative_category.json"
|
||||
@@ -83,6 +86,8 @@
|
||||
"minecraft:should_despawn": { "$ref": "./components/should_despawn.json" },
|
||||
"minecraft:stacked_by_data": { "$ref": "./components/stacked_by_data.json" },
|
||||
"minecraft:storage_item": { "$ref": "./components/storage_item.json" },
|
||||
"minecraft:storage_weight_limit": { "$ref": "./components/storage_weight_limit.json" },
|
||||
"minecraft:storage_weight_modifier": { "$ref": "./components/storage_weight_modifier.json" },
|
||||
"minecraft:tags": { "$ref": "./components/tags.json" },
|
||||
"minecraft:throwable": { "$ref": "./components/throwable.json" },
|
||||
"minecraft:use_animation": { "$ref": "./components/use_animation.json" },
|
||||
|
||||
@@ -11,6 +11,10 @@
|
||||
"if": { "properties": { "condition": { "type": "string", "const": "has_mark_variant" } } },
|
||||
"then": { "$ref": "./conditions/has_mark_variant.json" }
|
||||
},
|
||||
{
|
||||
"if": { "properties": { "condition": { "type": "string", "const": "match_tool" } } },
|
||||
"then": { "$ref": "./conditions/match_tool.json" }
|
||||
},
|
||||
{
|
||||
"if": { "properties": { "condition": { "type": "string", "const": "killed_by_player" } } },
|
||||
"then": { "$ref": "./conditions/killed_by_player.json" }
|
||||
|
||||
60
source/behavior/loot_tables/conditions/match_tool.json
Normal file
60
source/behavior/loot_tables/conditions/match_tool.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.condition.match_tool",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"description": "Returns the condition true if the block of the loot table was broken with a specific item.",
|
||||
"title": "Killed By Player",
|
||||
"required": ["condition", "item", "count"],
|
||||
"properties": {
|
||||
"condition": { "type": "string", "const": "match_tool", "title": "Condition", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" },
|
||||
"item": {
|
||||
"title": "Item",
|
||||
"description": "The item to match",
|
||||
"type": "string"
|
||||
},
|
||||
"count": {
|
||||
"title": "Count",
|
||||
"description": "Minimum count to match of the given item",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"enchantments": {
|
||||
"title": "Enchantments",
|
||||
"description": "List of enchantments to check for",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^[a-zA-Z]+$": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"level": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": ["level"]
|
||||
}
|
||||
},
|
||||
"minProperties": 1,
|
||||
"maxProperties": 1
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"minecraft:match_tool_filter_all": {
|
||||
"title": "Match Tool Filter All",
|
||||
"description": "List of tags the item must have",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"minecraft:match_tool_filter_none": {
|
||||
"title": "Match Tool Filter None",
|
||||
"description": "List of tags the item must NOT have",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@
|
||||
"random_block_state",
|
||||
"random_dye",
|
||||
"set_actor_id",
|
||||
"set_armor_trim",
|
||||
"set_banner_details",
|
||||
"set_book_contents",
|
||||
"set_count",
|
||||
@@ -42,6 +43,7 @@
|
||||
"minecraft:random_block_state",
|
||||
"minecraft:random_dye",
|
||||
"minecraft:set_actor_id",
|
||||
"minecraft:set_armor_trim",
|
||||
"minecraft:set_banner_details",
|
||||
"minecraft:set_book_contents",
|
||||
"minecraft:set_count",
|
||||
@@ -74,6 +76,7 @@
|
||||
{ "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*random_aux_value$" } } }, "then": { "$ref": "./functions/random_aux_value.json" } },
|
||||
{ "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*random_block_state$" } } }, "then": { "$ref": "./functions/random_block_state.json" } },
|
||||
{ "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_actor_id$" } } }, "then": { "$ref": "./functions/set_actor_id.json" } },
|
||||
{ "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_armor_trim$" } } }, "then": { "$ref": "./functions/set_armor_trim.json" } },
|
||||
{ "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_banner_details$" } } }, "then": { "$ref": "./functions/set_banner_details.json" } },
|
||||
{ "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_book_contents$" } } }, "then": { "$ref": "./functions/set_book_contents.json" } },
|
||||
{ "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_count$" } } }, "then": { "$ref": "./functions/set_count.json" } },
|
||||
|
||||
60
source/behavior/loot_tables/functions/set_armor_trim.json
Normal file
60
source/behavior/loot_tables/functions/set_armor_trim.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.loot_tables.set_armor_trim",
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"description": "The function set_armor_trim.",
|
||||
"title": "Set Armor Trim",
|
||||
"required": ["function", "material", "pattern"],
|
||||
"properties": {
|
||||
"function": {
|
||||
"type": "string",
|
||||
"const": "set_armor_trim",
|
||||
"title": "Function",
|
||||
"description": "UNDOCUMENTED.",
|
||||
"$comment": "UNDOCUMENTED"
|
||||
},
|
||||
"material": {
|
||||
"title": "Material",
|
||||
"description": "Trim's material",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"amethyst",
|
||||
"copper",
|
||||
"diamond",
|
||||
"emerald",
|
||||
"gold",
|
||||
"iron",
|
||||
"lapis",
|
||||
"netherite",
|
||||
"quartz",
|
||||
"redstone",
|
||||
"resin"
|
||||
]
|
||||
},
|
||||
"pattern": {
|
||||
"title": "Pattern",
|
||||
"description": "Trim pattern",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"sentry",
|
||||
"vex",
|
||||
"wild",
|
||||
"coast",
|
||||
"dune",
|
||||
"wayfinder",
|
||||
"shaper",
|
||||
"raiser",
|
||||
"host",
|
||||
"ward",
|
||||
"silence",
|
||||
"tide",
|
||||
"snout",
|
||||
"rib",
|
||||
"eye",
|
||||
"spire",
|
||||
"flow",
|
||||
"bolt"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,23 +5,6 @@
|
||||
"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",
|
||||
|
||||
Reference in New Issue
Block a user