1.21.100 (#363)
* - Added replacements for enderman block place/take behaviors * - Added transport items goal * - Added grass_is_shaded property * - Removed experimental tag for movable component * - Remove experimental tag from random offset * - Added can_wear_armor field * - Added "none" heightmap projection * - Improved descriptions for jigsaw rule * - Added blockstate and random block state predicates * - Improve rule descriptions * - Added min and max values for terrain texture variations * - Update template pool with empty pool * - Improved surface builder component * - Added humidity biome component * - Added partially frozen biome component * - Renamed to rotation_axis_aligned * - Added map_tints biome component
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.enderman_leave_block",
|
||||
"type": "object",
|
||||
"title": "Enderman Leave Block",
|
||||
"additionalProperties": false,
|
||||
"description": "Allows the enderman to drop a block they are carrying. Can only be used by Endermen.",
|
||||
"required": [],
|
||||
"properties": {
|
||||
"priority": {
|
||||
"$ref": "./types/priority.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.enderman_take_block",
|
||||
"type": "object",
|
||||
"title": "Enderman Take Block",
|
||||
"description": "Allows the enderman to take a block and carry it around. Can only be used by Endermen.",
|
||||
"additionalProperties": false,
|
||||
"required": [],
|
||||
"properties": {
|
||||
"priority": {
|
||||
"$ref": "./types/priority.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
70
source/behavior/entities/format/behaviors/place_block.json
Normal file
70
source/behavior/entities/format/behaviors/place_block.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.place_block",
|
||||
"type": "object",
|
||||
"title": "Place Block",
|
||||
"additionalProperties": false,
|
||||
"description": "Allows an entity to place blocks in the world",
|
||||
"required": [],
|
||||
"properties": {
|
||||
"priority": {
|
||||
"$ref": "./types/priority.json"
|
||||
},
|
||||
"affected_by_griefing_rule": {
|
||||
"title": "Affected By Griefing Rule",
|
||||
"description": "If true, whether the goal is affected by the mob griefing game rule.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"can_place": {
|
||||
"title": "Can Place",
|
||||
"description": "Filters for if the entity should try to place its block. Self and Target are set.",
|
||||
"$ref": "../../filters/filters.json"
|
||||
},
|
||||
"chance": {
|
||||
"title": "Chance",
|
||||
"description": "Chance each tick for the entity to try and place a block.",
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
},
|
||||
"on_place": {
|
||||
"title": "On Place",
|
||||
"description": "Trigger ran if the entity does place its block. Self, Target, and Block are set.",
|
||||
"$ref": "../types/event.json"
|
||||
},
|
||||
"placeable_carried_blocks": {
|
||||
"title": "Placeable Carried Blocks",
|
||||
"description": "Block descriptors for which blocks are valid to be placed from the entity's carried item, if empty all blocks are valid.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
}
|
||||
},
|
||||
"randomly_placeable_blocks": {
|
||||
"title": "Randomly Placeable Blocks",
|
||||
"description": "Weighted block descriptors for which blocks should be randomly placed, if empty the entity will try to place its carried block from placeable_carried_blocks.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": [
|
||||
{
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
},
|
||||
{
|
||||
"title": "Weight",
|
||||
"description": "Weight used in random selection. Value is relative to other weights in the collection.",
|
||||
"type": "number"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"xz_range": {
|
||||
"title": "XZ Range",
|
||||
"description": "XZ range from which the entity will try and place blocks in.",
|
||||
"$ref": "../types/range_number_type.json"
|
||||
},
|
||||
"y_range": {
|
||||
"title": "Y Range",
|
||||
"description": "Y range from which the entity will try and place blocks in.",
|
||||
"$ref": "../types/range_number_type.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
57
source/behavior/entities/format/behaviors/take_block.json
Normal file
57
source/behavior/entities/format/behaviors/take_block.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.take_block",
|
||||
"type": "object",
|
||||
"title": "Take Block",
|
||||
"description": "Allows an entity to take blocks from the world.",
|
||||
"additionalProperties": false,
|
||||
"required": [],
|
||||
"properties": {
|
||||
"priority": {
|
||||
"$ref": "./types/priority.json"
|
||||
},
|
||||
"affected_by_griefing_rule": {
|
||||
"title": "Affected By Griefing Rule",
|
||||
"description": "If true, whether the goal is affected by the mob griefing game rule.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"blocks": {
|
||||
"title": "Blocks",
|
||||
"description": "Block descriptors for which blocks are valid to be taken by the entity, if empty all blocks are valid.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
}
|
||||
},
|
||||
"can_take": {
|
||||
"title": "Can Take",
|
||||
"description": "Filters for if the entity should try to take a block. Self and Target are set.",
|
||||
"$ref": "../../filters/filters.json"
|
||||
},
|
||||
"chance": {
|
||||
"title": "Chance",
|
||||
"description": "Chance each tick for the entity to try and take a block.",
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
},
|
||||
"on_take": {
|
||||
"title": "On Take",
|
||||
"description": "Trigger ran if the entity does take a block. Self, Target, and Block are set.",
|
||||
"$ref": "../types/event.json"
|
||||
},
|
||||
"requires_line_of_sight": {
|
||||
"title": "Requires Line Of Sight",
|
||||
"description": "If true, whether the entity needs line of sight to the block they are trying to take.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"xz_range": {
|
||||
"title": "XZ Range",
|
||||
"description": "XZ range from which the entity will try and take blocks from.",
|
||||
"$ref": "../types/range_number_type.json"
|
||||
},
|
||||
"y_range": {
|
||||
"title": "Y Range",
|
||||
"description": "Y range from which the entity will try and take blocks from.",
|
||||
"$ref": "../types/range_number_type.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
114
source/behavior/entities/format/behaviors/transport_items.json
Normal file
114
source/behavior/entities/format/behaviors/transport_items.json
Normal file
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.transport_items",
|
||||
"type": "object",
|
||||
"title": "Transport Items",
|
||||
"description": "Allows a mob to transport items from and to containers",
|
||||
"additionalProperties": false,
|
||||
"required": [],
|
||||
"properties": {
|
||||
"priority": {
|
||||
"$ref": "./types/priority.json"
|
||||
},
|
||||
"source_container_types": {
|
||||
"title": "Source Container Types",
|
||||
"description": "A list of block descriptors that should be a container type to get items from. Default is any container",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
}
|
||||
},
|
||||
"destination_container_types": {
|
||||
"title": "Destination Container Types",
|
||||
"description": "A list of block descriptors that should be a container type to put items in. Default is any container",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "../../../../general/block/reference.json"
|
||||
}
|
||||
},
|
||||
"max_stack_size": {
|
||||
"title": "Max Stack Size",
|
||||
"description": "The maximum stack size that the mob will try to take from a container.",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"default": 16,
|
||||
"maxItems": 64
|
||||
},
|
||||
"interaction_time": {
|
||||
"title": "Interaction Time",
|
||||
"description": "The amount of time spent interacting with the containers in seconds.",
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"default": 3.0
|
||||
},
|
||||
"allow_simultaneous_interaction": {
|
||||
"title": "Allow Simultaneous Interaction",
|
||||
"description": "Whether the entity is allowed to simultaneously interact with a container that another non-player entity is already interacting with.",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"search_strategy": {
|
||||
"title": "Search Strategy",
|
||||
"description": "Whether to select the nearest valid container or a random valid container in range.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"nearest",
|
||||
"random"
|
||||
]
|
||||
},
|
||||
"search_distance": {
|
||||
"title": "Search Distance",
|
||||
"description": "The maximum horizontal and vertical distance at which to find containers for taking or placing items.",
|
||||
"$ref": "../types/range_number_type.json",
|
||||
"default": [
|
||||
62,
|
||||
32
|
||||
]
|
||||
},
|
||||
"max_visited_containers": {
|
||||
"title": "Max Visited Containers",
|
||||
"description": "The maximum number of containers the mob will visit before resetting. 0 is unlimited.",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 16
|
||||
},
|
||||
"initial_cooldown": {
|
||||
"title": "Initial Cooldwon",
|
||||
"description": "ime, in seconds, the mob will wait after spawning or after its available goals have changed (e.g. due to a component group update).",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 0
|
||||
},
|
||||
"idle_cooldown": {
|
||||
"title": "Idle Cooldown",
|
||||
"description": "When the mob cannot find a valid container to interact with, the goal will be disabled for this amount of time in seconds.",
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"default": 20
|
||||
},
|
||||
"place_strategy": {
|
||||
"title": "Place Strategy",
|
||||
"description": "The strategy to use for placing the transported item.\nAny - always place if there is room,\nWith matching - place if there is a matching item in the container,\nWith matching or empty - like With matching but will also place in empty containers.",
|
||||
"type": "string",
|
||||
"default": "any",
|
||||
"enum": [
|
||||
"any",
|
||||
"with_matching",
|
||||
"with_matching_or_empty"
|
||||
]
|
||||
},
|
||||
"allowed_items": {
|
||||
"description": "A list of item descriptors that are the only items the mob is allowed to transport. If this and \"disallowed_items\" are both empty, then all items are allowed. If non-empty \"disallowed_items\" must be empty. Default value: empty.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"disallowed_items": {
|
||||
"description": "A list of item descriptors that are the mob is not allowed to transport. If non-empty \"allowed_items\" must be empty. Default value: emtpy.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,6 @@
|
||||
"minecraft:block_climber": { "$ref": "./components/block_climber.json" },
|
||||
"minecraft:block_sensor": { "$ref": "./components/block_sensor.json" },
|
||||
"minecraft:body_rotation_always_follows_head": { "$ref": "./components/body_rotation_always_follows_head.json" },
|
||||
"minecraft:body_rotation_axis_aligned": { "$ref": "./components/body_rotation_axis_aligned.json" },
|
||||
"minecraft:body_rotation_blocked": { "$ref": "./components/body_rotation_blocked.json" },
|
||||
"minecraft:boostable": { "$ref": "./components/boostable.json" },
|
||||
"minecraft:boss": { "$ref": "./components/boss.json" },
|
||||
@@ -169,6 +168,7 @@
|
||||
"minecraft:rail_sensor": { "$ref": "./components/rail_sensor.json" },
|
||||
"minecraft:ravager_blocked": { "$ref": "./components/ravager_blocked.json" },
|
||||
"minecraft:rideable": { "$ref": "./components/rideable.json" },
|
||||
"minecraft:rotation_axis_aligned": { "$ref": "./components/rotation_axis_aligned.json" },
|
||||
"minecraft:reflect_projectiles": { "$ref": "./components/reflect_projectiles.json" },
|
||||
"minecraft:remove_in_peaceful": { "$ref": "./components/remove_in_peaceful.json" },
|
||||
"minecraft:renders_when_invisible": { "$ref": "./components/renders_when_invisible.json" },
|
||||
@@ -241,8 +241,6 @@
|
||||
"minecraft:behavior.eat_carried_item": { "$ref": "./behaviors/eat_carried_item.json" },
|
||||
"minecraft:behavior.eat_mob": { "$ref": "./behaviors/eat_mob.json" },
|
||||
"minecraft:behavior.emerge": { "$ref": "./behaviors/emerge.json" },
|
||||
"minecraft:behavior.enderman_leave_block": { "$ref": "./behaviors/enderman_leave_block.json" },
|
||||
"minecraft:behavior.enderman_take_block": { "$ref": "./behaviors/enderman_take_block.json" },
|
||||
"minecraft:behavior.equip_item": { "$ref": "./behaviors/equip_item.json" },
|
||||
"minecraft:behavior.explore_outskirts": { "$ref": "./behaviors/explore_outskirts.json" },
|
||||
"minecraft:behavior.fertilize_farm_block": { "$ref": "./behaviors/fertilize_farm_block.json" },
|
||||
@@ -311,6 +309,7 @@
|
||||
"minecraft:behavior.panic": { "$ref": "./behaviors/panic.json" },
|
||||
"minecraft:behavior.pet_sleep_with_owner": { "$ref": "./behaviors/pet_sleep_with_owner.json" },
|
||||
"minecraft:behavior.pickup_items": { "$ref": "./behaviors/pickup_items.json" },
|
||||
"minecraft:behavior.place_block": { "$ref": "./behaviors/place_block.json" },
|
||||
"minecraft:behavior.play_dead": { "$ref": "./behaviors/play_dead.json" },
|
||||
"minecraft:behavior.play": { "$ref": "./behaviors/play.json" },
|
||||
"minecraft:behavior.player_ride_tamed": { "$ref": "./behaviors/player_ride_tamed.json" },
|
||||
@@ -366,6 +365,7 @@
|
||||
"minecraft:behavior.swim_wander": { "$ref": "./behaviors/swim_wander.json" },
|
||||
"minecraft:behavior.swim_with_entity": { "$ref": "./behaviors/swim_with_entity.json" },
|
||||
"minecraft:behavior.swoop_attack": { "$ref": "./behaviors/swoop_attack.json" },
|
||||
"minecraft:behavior.take_block": { "$ref": "./behaviors/take_block.json" },
|
||||
"minecraft:behavior.take_flower": { "$ref": "./behaviors/take_flower.json" },
|
||||
"minecraft:behavior.teleport_to_owner": { "$ref": "./behaviors/teleport_to_owner.json" },
|
||||
"minecraft:behavior.move_around_target": { "$ref": "./behaviors/move_around_target.json" },
|
||||
@@ -376,6 +376,7 @@
|
||||
"minecraft:behavior.timer_flag_3": { "$ref": "./behaviors/timer_flag.json" },
|
||||
"minecraft:behavior.trade_interest": { "$ref": "./behaviors/trade_interest.json" },
|
||||
"minecraft:behavior.trade_with_player": { "$ref": "./behaviors/trade_with_player.json" },
|
||||
"minecraft:behavior.transport_items": { "$ref": "./behaviors/transport_items.json" },
|
||||
"minecraft:behavior.vex_copy_owner_target": { "$ref": "./behaviors/vex_copy_owner_target.json" },
|
||||
"minecraft:behavior.vex_random_move": { "$ref": "./behaviors/vex_random_move.json" },
|
||||
"minecraft:behavior.wither_random_attack_pos_goal": { "$ref": "./behaviors/wither_random_attack_pos_goal.json" },
|
||||
|
||||
@@ -14,6 +14,12 @@
|
||||
"description": "Item that the entity should not equip.",
|
||||
"title": "Excluded Items"
|
||||
}
|
||||
},
|
||||
"can_wear_armor": {
|
||||
"title": "Can Wear Armor",
|
||||
"description": "Specifies if equipped armor should be added to the armor slot or hand slot",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user