Processed updated docuemtnation from minecraft

This commit is contained in:
DaanV2
2022-04-20 15:54:51 +02:00
parent 174e6a552e
commit 34bdb84ad0
63 changed files with 1195 additions and 996 deletions

View File

@@ -2,27 +2,25 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.celebrate", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.celebrate",
"type": "object", "type": "object",
"title": "Celebrate", "title": "Celebrate",
"description": "This allows the mob celebrate by jumping up and playing a sound periodically.", "description": "Allows this entity to celebrate surviving a raid by making celebration sounds and jumping.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json"
},
"celebration_sound": { "celebration_sound": {
"type": "string", "type": "string",
"default": "", "default": "",
"description": "The sound to occasionally play.", "description": "The sound event to trigger during the celebration.",
"title": "Celebration Sound" "title": "Celebration Sound"
}, },
"duration": { "duration": {
"type": "number", "type": "number",
"default": 1, "default": 30,
"description": "The duration of the celebration (in seconds).", "description": "The duration in seconds that the celebration lasts for.",
"title": "Duration" "title": "Duration"
}, },
"jump_interval": { "jump_interval": {
"default": 0, "default": [1, 3.5],
"description": "The range of time in seconds to randomly wait before jumping again.", "description": "Minimum and maximum time between jumping (positive, in seconds).",
"title": "Jump Interval", "title": "Jump Interval",
"oneOf": [ "oneOf": [
{ {
@@ -62,38 +60,9 @@
}, },
"sound_interval": { "sound_interval": {
"default": 0, "default": 0,
"description": "The range of time in seconds to randomly wait before playing the sound again.", "description": "Minimum and maximum time between sound events (positive, in seconds).",
"title": "Sound Interval", "title": "Sound Interval",
"oneOf": [ "$ref": "../types/range_number_type.json"
{
"type": "array",
"items": [
{
"type": "number",
"title": "Maximum"
},
{
"type": "number",
"title": "Maximum"
}
]
},
{
"type": "number"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"range_min": {
"type": "number"
},
"range_max": {
"type": "number"
}
}
}
]
} }
}, },
"examples": [ "examples": [
@@ -102,4 +71,4 @@
"duration": 1 "duration": 1
} }
] ]
} }

View File

@@ -3,14 +3,28 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"title": "Charge Attack", "title": "Charge Attack",
"description": "Allows the mob to attack its target by running at it.", "description": "Allows this entity to damage a target by using a running attack.",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
"max_distance": {
"title": "Max Distance",
"type": "number",
"default": 3,
"description": "A charge attack cannot start if the entity is farther than this distance to the target."
}, },
"speed_multiplier": { "min_distance": {
"$ref": "types/speed_multiplier.json" "title": "Min Distance",
"type": "number",
"default": 2,
"description": "A charge attack cannot start if the entity is closer than this distance to the target."
},
"success_rate": {
"title": "Success Rate",
"type": "number",
"default": 0.1428,
"description": "Percent chance this entity will start a charge attack, if not already attacking (1.0 = 100%)"
} }
} }
} }

View File

@@ -2,7 +2,7 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.charge_held_item", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.charge_held_item",
"type": "object", "type": "object",
"title": "Charge Held Item", "title": "Charge Held Item",
"description": "Allows this mob to charge and use their held item.", "description": "Allows an entity to charge and use their held item.",
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
@@ -12,7 +12,7 @@
"items": { "items": {
"type": "array", "type": "array",
"title": "Items", "title": "Items",
"description": "The list of items that can be used to charge the held item.", "description": "The list of items that can be used to charge the held item. This list is required and must have at least one item in it.",
"items": { "items": {
"type": "string", "type": "string",
"description": "Items names to be used.", "description": "Items names to be used.",
@@ -25,4 +25,4 @@
"items": [] "items": []
} }
] ]
} }

View File

@@ -3,25 +3,15 @@
"type": "object", "type": "object",
"title": "Circle Around Anchor", "title": "Circle Around Anchor",
"additionalProperties": false, "additionalProperties": false,
"description": "Allows the mob to move in a circle around a point or a target.", "description": "Causes an entity to circle around an anchor point placed near a point or target.",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "./types/priority.json" },
"$ref": "./types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"type": "number",
"default": 1.0,
"description": "Movement speed multiplier of the mob when using this AI Goal",
"title": "Speed Multiplier"
},
"radius_range": { "radius_range": {
"$ref": "../types/range_number_type.json", "$ref": "../types/range_number_type.json",
"default": [ "default": [5.0, 15.0],
5.0, "description": "Horizontal distance from the anchor point this entity must stay within upon a successful radius adjustment.",
15.0
],
"description": "Range of radius in blocks of the circle to move around.",
"title": "Radius Range" "title": "Radius Range"
}, },
"radius_change_chance": { "radius_change_chance": {
@@ -32,19 +22,13 @@
}, },
"height_above_target_range": { "height_above_target_range": {
"$ref": "../types/range_number_type.json", "$ref": "../types/range_number_type.json",
"default": [ "default": [0.0, 0.0],
0.0, "description": "The number of blocks above the target that the next anchor point can be set. This value is used only when the entity is tracking a target.",
0.0
],
"description": "When the mob finds a target, the range of height in blocks above the target to start the anchor point.",
"title": "Height Above Target Range" "title": "Height Above Target Range"
}, },
"height_offset_range": { "height_offset_range": {
"$ref": "../types/range_number_type.json", "$ref": "../types/range_number_type.json",
"default": [ "default": [0.0, 0.0],
0.0,
0.0
],
"description": "The range of height in blocks offset the mob can have from it's anchor point.", "description": "The range of height in blocks offset the mob can have from it's anchor point.",
"title": "Height Offset Range" "title": "Height Offset Range"
}, },
@@ -57,32 +41,28 @@
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,
"description": "Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot", "description": "Maximum distance from the anchor-point in which this entity considers itself to have reached the anchor point. This is to prevent the entity from bouncing back and forth trying to reach a specific spot.",
"title": "Goal Radius" "title": "Goal Radius"
}, },
"radius_change": { "radius_change": {
"type": "number", "type": "number",
"title": "Radius Change", "title": "Radius Change",
"description": "UNDOCUMENTED", "description": "The number of blocks to increase the current movement radius by, upon successful `radius_adjustment_chance`. If the current radius increases over the range maximum, the current radius will be set back to the range minimum and the entity will change between clockwise and counter-clockwise movement."
"$comment": "UNDOCUMENTED"
}, },
"radius_adjustment_chance": { "radius_adjustment_chance": {
"type": "number", "type": "number",
"title": "Radius Adjustment Chance", "title": "Radius Adjustment Chance",
"description": "UNDOCUMENTED", "description": "Percent chance to determine how often to increase the size of the current movement radius around the anchor point. 1 = 100%. `radius_change_chance` is deprecated and has been replaced with `radius_adjustment_chance`."
"$comment": "UNDOCUMENTED"
}, },
"height_adjustment_chance": { "height_adjustment_chance": {
"type": "number", "type": "number",
"title": "Height Adjustment Chance", "title": "Height Adjustment Chance",
"description": "UNDOCUMENTED", "description": "Percent chance to determine how often to increase or decrease the current height around the anchor point. 1 = 100%. `height_change_chance` is deprecated and has been replaced with `height_adjustment_chance`."
"$comment": "UNDOCUMENTED"
}, },
"angle_change": { "angle_change": {
"type": "number", "type": "number",
"title": "Angle Change", "title": "Angle Change",
"description": "UNDOCUMENTED", "description": "Number of degrees to change this entity's facing by, when the entity selects its next anchor point."
"$comment": "UNDOCUMENTED"
} }
}, },
"examples": [ "examples": [
@@ -97,4 +77,4 @@
"angle_change": 0.0 "angle_change": 0.0
} }
] ]
} }

View File

@@ -3,16 +3,26 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"title": "Controlled By Player", "title": "Controlled By Player",
"description": "Allows the mob to be controlled by the player.", "description": "Allows the entity to be controlled by the player using an item in the item_controllable property (required). Also requires the minecraft:movement property, and the minecraft:rideable property. On every tick, the entity will attempt to rotate towards where the player is facing with the control item whilst simultaneously moving forward.",
"properties": { "properties": {
"priority": { "priority": { "$ref": "./types/priority.json" },
"$ref": "./types/priority.json" "fractional_rotation": {
"title": "Fractional Rotation",
"type": "number",
"default": 0.5,
"description": "The entity will attempt to rotate to face where the player is facing each tick. The entity will target this percentage of their difference in their current facing angles each tick (from 0.0 to 1.0 where 1.0 = 100%). This is limited by FractionalRotationLimit. A value of 0.0 will result in the entity no longer turning to where the player is facing."
},
"fractional_rotation_limit": {
"title": "Fractional Rotation Limit",
"type": "number",
"default": 5.0,
"description": "Limits the total degrees the entity can rotate to face where the player is facing on each tick."
}, },
"mount_speed_multiplier": { "mount_speed_multiplier": {
"title": "Mount Speed Multiplier",
"type": "number", "type": "number",
"default": 1, "default": 1.0,
"description": "Speed multiplier of mount when controlled by player, defaults to 1.0f", "description": "Speed multiplier of mount when controlled by player."
"title": "Mount Speed Multiplier"
} }
}, },
"examples": [ "examples": [
@@ -20,4 +30,4 @@
"mount_speed_multiplier": 1 "mount_speed_multiplier": 1
} }
] ]
} }

View File

@@ -3,14 +3,13 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"title": "Defend Village Target", "title": "Defend Village Target",
"description": "Allows the mob to stay in the village and fight mobs hostile to the villagers.", "description": "Allows the entity to stay in a village and defend the village from aggressors. If a player is in bad standing with the village this goal will cause the entity to attack the player regardless of filter conditions.",
"properties": { "properties": {
"priority": { "priority": { "$ref": "./types/priority.json" },
"$ref": "./types/priority.json"
},
"entity_types": { "entity_types": {
"$ref": "../types/entity_types.json", "$ref": "../types/entity_types.json",
"description": "List of entity types this mob considers a threat to the village", "description": "List of entity types this mob considers a threat to the village",
"$comment": "UNDOCUMENTED",
"title": "Entity Types" "title": "Entity Types"
}, },
"must_reach": { "must_reach": {
@@ -21,9 +20,9 @@
}, },
"attack_chance": { "attack_chance": {
"title": "Attack Chance", "title": "Attack Chance",
"description": "UNDOCUMENTED", "description": "The percentage chance that the entity has to attack aggressors of its village, where 1.0 = 100%.",
"$comment": "UNDOCUMENTED", "type": "number",
"type": "number" "default": 0.05
} }
}, },
"examples": [ "examples": [
@@ -32,4 +31,4 @@
"attack_chance": 0.0 "attack_chance": 0.0
} }
] ]
} }

View File

@@ -5,64 +5,142 @@
"title": "Delayed Attack", "title": "Delayed Attack",
"description": "Allows the mob to drink potions based on specified environment conditions.", "description": "Allows the mob to drink potions based on specified environment conditions.",
"properties": { "properties": {
"priority": { "priority": { "$ref": "./types/priority.json" },
"$ref": "./types/priority.json" "speed_multiplier": { "$ref": "./types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "./types/speed_multiplier.json"
},
"attack_duration": { "attack_duration": {
"title": "Attack Duration",
"type": "number", "type": "number",
"default": 1, "default": 0.75,
"description": "The duration of the attack animation in seconds", "description": "The entity's attack animation will play out over this duration (in seconds). Also controls attack cooldown."
"title": "Attack Duration"
}, },
"attack_once": { "attack_once": {
"title": "Attack Once",
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "If true, this mob will attack only one time.", "description": "Allows the entity to use this attack behavior, only once EVER."
"title": "Attack Once"
}, },
"attack_types": { "attack_types": {
"title": "Attack Types",
"type": "string", "type": "string",
"default": "", "default": "N/A",
"description": "Defines the entity types this mob will attack", "description": "Defines the entity types this entity will attack."
"title": "Attack Types"
}, },
"hit_delay_pct": { "cooldown_time": {
"title": "Cooldown Time",
"type": "number", "type": "number",
"default": 1, "default": 1,
"description": "The percentage of the attack_duration that must pass before the hit is made", "description": "Cooldown time (in seconds) between attacks."
"title": "Hit Delay Percentage" },
"hit_delay_pct": {
"title": "Hit Delay Pct",
"type": "number",
"default": 0.5,
"description": "The percentage into the attack animation to apply the damage of the attack (1.0 = 100%)."
},
"inner_boundary_time_increase": {
"title": "Inner Boundary Time Increase",
"type": "number",
"default": 0.25,
"description": "Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."
},
"max_dist": {
"title": "Max Dist",
"type": "number",
"description": "Unused. No effect on \"minecraft:behavior.melee_attack\"."
},
"max_path_time": {
"title": "Max Path Time",
"type": "number",
"default": 0.55,
"description": "Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."
},
"melee_fov": {
"title": "Melee Fov",
"type": "number",
"default": 90,
"description": "Field of view (in degrees) when using the sensing component to detect an attack target."
},
"min_path_time": {
"title": "Min Path Time",
"type": "number",
"default": 0.2,
"description": "Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."
},
"on_attack": {
"title": "On Attack",
"description": "Defines the event to trigger when this entity successfully attacks.",
"$ref": "../types/trigger.json"
},
"outer_boundary_time_increase": {
"title": "Outer Boundary Time Increase",
"type": "number",
"default": 0.5,
"description": "Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."
},
"path_fail_time_increase": {
"title": "Path Fail Time Increase",
"type": "number",
"default": 0.75,
"description": "Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."
},
"path_inner_boundary": {
"title": "Path Inner Boundary",
"type": "number",
"default": 16,
"description": "Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."
},
"path_outer_boundary": {
"title": "Path Outer Boundary",
"type": "number",
"default": 32,
"description": "Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."
}, },
"random_stop_interval": { "random_stop_interval": {
"title": "Random Stop Interval",
"type": "integer", "type": "integer",
"default": 0, "default": 0,
"description": "Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance", "description": "This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."
"title": "Random Stop Interval"
}, },
"reach_multiplier": { "reach_multiplier": {
"title": "Reach Multiplier",
"type": "number", "type": "number",
"default": 2, "default": 2,
"description": "Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)", "description": "Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."
"title": "Reach Multiplier"
}, },
"require_complete_path": { "require_complete_path": {
"type": "boolean", "title": "Require Complete Path",
"title": "Require Complet Path",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED"
},
"sound_event": {
"type": "string",
"description": "The sound event to play when the attack starts",
"title": "Sound Event"
},
"track_target": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "If true, this mob will chase after the target as long as it's a valid target", "description": "Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."
"title": "Track Target" },
"set_persistent": {
"title": "Set Persistent",
"type": "boolean",
"default": false,
"description": "Allows the actor to be set to persist upon targeting a player"
},
"target_dist": {
"title": "Target Dist",
"type": "number",
"description": "Unused. No effect on \"minecraft:behavior.melee_attack\"."
},
"track_target": {
"title": "Track Target",
"type": "boolean",
"default": false,
"description": "Allows the entity to track the attack target, even if the entity has no sensing."
},
"x_max_rotation": {
"title": "X Max Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."
},
"y_max_head_rotation": {
"title": "Y Max Head Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."
} }
}, },
"examples": [ "examples": [
@@ -78,4 +156,4 @@
"track_target": false "track_target": false
} }
] ]
} }

View File

@@ -3,10 +3,40 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"title": "Dragonchargeplayer", "title": "Dragonchargeplayer",
"description": "Allows the dragon to attack a player by flying fast at them. The player is chosen by the dragonscanning goal. Can only be used by the Ender Dragon.", "description": "Allows this entity to attack a player by charging at them. The player is chosen by the \"minecraft:behavior.dragonscanning\". Can only be used by the Ender Dragon.",
"properties": { "properties": {
"priority": { "priority": {
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
},
"active_speed": {
"title": "Active Speed",
"type": "number",
"default": 1,
"description": "The speed this entity moves when this behavior has started or while it's active."
},
"continue_charge_threshold_time": {
"title": "Continue Charge Threshold Time",
"type": "number",
"default": 0.5,
"description": "If the dragon is outside the \"target_zone\" for longer than \"continue_charge_threshold_time\" seconds, the charge is canceled."
},
"flight_speed": {
"title": "Flight Speed",
"type": "number",
"default": 0.6,
"description": "The speed this entity moves while this behavior is not active."
},
"target_zone": {
"title": "Target Zone",
"$ref": "../types/range_number_type.json",
"default": [10, 150],
"description": "Minimum and maximum distance, from the target, this entity can use this behavior."
},
"turn_speed": {
"title": "Turn Speed",
"type": "number",
"default": 0.7,
"description": "The speed at which this entity turns while using this behavior."
} }
} }
} }

View File

@@ -7,6 +7,30 @@
"properties": { "properties": {
"priority": { "priority": {
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
},
"cooldown_time": {
"title": "Cooldown Time",
"type": "number",
"default": 10,
"description": "Time (in seconds), after roar, to breath flame."
},
"flame_time": {
"title": "Flame Time",
"type": "number",
"default": 0.5,
"description": "Time (in seconds), after roar, to breath flame."
},
"ground_flame_count": {
"title": "Ground Flame Count",
"type": "integer",
"default": 4,
"description": "Number of ground flame-breath attacks to use before flight-takeoff."
},
"roar_time": {
"title": "Roar Time",
"type": "number",
"default": 2,
"description": "Time (in seconds) to roar, before breathing flame."
} }
} }
} }

View File

@@ -3,10 +3,58 @@
"additionalProperties": false, "additionalProperties": false,
"type": "object", "type": "object",
"title": "Dragonstrafeplayer", "title": "Dragonstrafeplayer",
"description": "Allows the dragon to fly around looking for a player and shoot fireballs at them. Can only be used by the Ender Dragon.", "description": "Allows this entity to fly around looking for a player to shoot fireballs at. Can only be used by the Ender Dragon.",
"properties": { "properties": {
"priority": { "priority": {
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
},
"active_speed": {
"title": "Active Speed",
"type": "number",
"default": 1,
"description": "The speed this entity moves when this behavior has started or while it's active."
},
"fireball_range": {
"title": "Fireball Range",
"type": "number",
"default": 64,
"description": "Maximum distance of this entity's fireball attack while strafing."
},
"flight_speed": {
"title": "Flight Speed",
"type": "number",
"default": 0.6,
"description": "The speed this entity moves while this behavior is not active."
},
"switch_direction_probability": {
"title": "Switch Direction Probability",
"type": "number",
"default": 0.125,
"description": "Percent chance to to switch this entity's strafe direction between clockwise and counterclockwise. Switch direction chance occurs each time a new target is chosen (1.0 = 100%)."
},
"target_in_range_and_in_view_time": {
"title": "Target In Range And In View Time",
"type": "number",
"default": 0.25,
"description": "Time (in seconds) the target must be in fireball range, and in view [ie, no solid terrain in-between the target and this entity], before a fireball can be shot."
},
"target_zone": {
"title": "Target Zone",
"$ref": "../types/range_number_type.json",
"default": [10, 150],
"description": "Minimum and maximum distance, from the target, this entity can use this behavior."
},
"turn_speed": {
"title": "Turn Speed",
"type": "number",
"default": 0.7,
"description": "The speed at which this entity turns while using this behavior."
},
"view_angle": {
"title": "View Angle",
"type": "number",
"default": 10,
"description": "The target must be within \"view_angle\" degrees of the dragon's current rotation before a fireball can be shot."
} }
} }
} }

View File

@@ -1,157 +1,105 @@
{ {
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.drop_item_for", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.drop_item_for",
"additionalProperties": false, "additionalProperties": false,
"description": "Allows the mob to move near a target and drop an item.", "description": "Allows the entity to move toward a target, and drop an item near the target. This goal requires a \"minecraft:navigation\" to execute.",
"title": "Drop Item For", "title": "Drop Item For",
"type": "object", "type": "object",
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown": {
"title": "Cooldown",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
},
"drop_item_chance": {
"type": "number",
"default": [
1.0
],
"description": "The probability that the mob will drop an item.",
"title": "Drop Item Chance"
},
"entity_types": { "entity_types": {
"description": "List of entity types this mob will drop items for.", "description": "The list of conditions another entity must meet to be a valid target to drop an item for.",
"title": "Entity Types", "title": "Entity Types",
"$ref": "../types/entity_types.json" "$ref": "../types/entity_types.json"
}, },
"cooldown": {
"title": "Cooldown",
"type": "number",
"default": 0.2,
"description": "Total time that the goal is on cooldown before it can be used again."
},
"drop_item_chance": {
"title": "Drop Item Chance",
"type": "number",
"default": 1.0,
"description": "The percent chance the entity will drop an item when using this goal."
},
"goal_radius": { "goal_radius": {
"title": "Goal Radius",
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,
"description": "Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot", "description": "Distance in blocks within the entity considers it has reached it's target position."
"title": "Goal Radius"
}, },
"loot_table": { "loot_table": {
"title": "Loot Table",
"type": "string", "type": "string",
"pattern": "^loot_tables.*\\.json$", "description": "The loot table that contains the possible loot the entity can drop with this goal.",
"description": "Loot table to select items from.", "examples": ["loot_tables/"]
"title": "Loot Table"
}, },
"max_dist": { "max_head_look_at_height": {
"title": "Max Head Look At Height",
"type": "number", "type": "number",
"default": 0, "default": 10.0,
"description": "Maximum distance in blocks this mob will look for entities to drop an item for.", "description": "The maximum height the entities head will look at when dropping the item. The entity will always be looking at its target."
"title": "Maximum Dist"
}, },
"minimum_teleport_distance": { "minimum_teleport_distance": {
"title": "Minimum Teleport Distance", "title": "Minimum Teleport Distance",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED", "default": 2.0,
"type": "number" "description": "If the target position is farther away than this distance on any tick, the entity will teleport to the target position."
},
"max_head_look_at_height": {
"title": "Maximum Head Look At Height",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
}, },
"offering_distance": { "offering_distance": {
"title": "Offering Distance",
"type": "number", "type": "number",
"default": [ "default": 1.0,
1.0 "description": "The preferred distance the entity tries to be from the target it is dropping an item for."
],
"description": "The distance in blocks the mob will try to be away from the entity when it drops the item.",
"title": "Offering Distance"
}, },
"on_drop_attempt": { "on_drop_attempt": {
"$ref": "../types/event.json", "title": "On Drop Attempt",
"description": "Event to run when this mob attempts to drop an item.", "$ref": "../types/trigger.json",
"title": "On Drop Attempt" "description": "The event to trigger when the entity attempts to drop an item."
},
"search_count": {
"title": "Search Count",
"type": "integer",
"default": 0,
"description": "The number of blocks each tick that the entity will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick."
},
"search_height": {
"title": "Search Height",
"type": "integer",
"default": 1,
"description": "The Height in blocks the entity will search within to find a valid target position."
},
"search_range": {
"title": "Search Range",
"type": "integer",
"default": 0,
"description": "The distance in blocks the entity will search within to find a valid target position."
}, },
"seconds_before_pickup": { "seconds_before_pickup": {
"title": "Seconds Before Pickup", "title": "Seconds Before Pickup",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED", "default": 0.0,
"type": "number" "description": "The numbers of seconds that will pass before the dropped entity can be picked up from the ground."
},
"search_count": {
"type": "integer",
"default": 1,
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"title": "Search Height"
},
"search_height": {
"type": "integer",
"default": 1,
"description": "Height in blocks from the target the mob can be.",
"title": "Search Height"
},
"search_range": {
"type": "integer",
"default": 0,
"description": "The distance in blocks from the target the mob can be.",
"title": "Search Range"
}, },
"target_range": { "target_range": {
"title": "Target Range", "title": "Target Range",
"description": "UNDOCUMENTED", "$ref": "../../../../general/vectors/number3.json",
"$comment": "UNDOCUMENTED", "default": [1, 1, 1],
"type": "array", "description": "The range in blocks within which the entity searches to find a target to drop an item for."
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
}, },
"teleport_offset": { "teleport_offset": {
"title": "Teleport Offset", "title": "Teleport Offset",
"description": "UNDOCUMENTED", "$ref": "../../../../general/vectors/number3.json",
"$comment": "UNDOCUMENTED", "default": [0, 1, 0],
"type": "array", "description": "When the entity teleports, offset the teleport position by this many blocks in the X, Y, and Z coordinate."
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
}, },
"time_of_day_range": { "time_of_day_range": {
"default": [
0.0,
1.0
],
"description": "The valid times of day that this goal can be used. For reference: noon is 0.0, sunset is 0.25, midnight is 0.5, and sunrise is 0.75, and back to noon for 1.0.",
"title": "Time Of Day Range", "title": "Time Of Day Range",
"type": "array", "$ref": "../types/range_number_type.json",
"items": [ "default": [0, 1],
{ "description": "The valid times of day that this goal can be used. For reference: noon is 0.0, sunset is 0.25, midnight is 0.5, and sunrise is 0.75, and back to noon for 1.0."
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "number",
"minimum": 0,
"maximum": 1
}
]
} }
}, },
"examples": [ "examples": [
@@ -173,4 +121,4 @@
"time_of_day_range": [] "time_of_day_range": []
} }
] ]
} }

View File

@@ -2,37 +2,32 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.eat_block", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.eat_block",
"type": "object", "type": "object",
"title": "Eat Block", "title": "Eat Block",
"description": "UNDOCUMENTED", "description": "Allows the entity to consume a block, replace the eaten block with another block, and trigger an event as a result.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "./types/priority.json" },
"$ref": "./types/priority.json"
},
"on_eat": { "on_eat": {
"$ref": "../types/trigger.json", "$ref": "../types/trigger.json",
"description": "UNDOCUMENTED", "description": "The event to trigger when the block eating animation has completed.",
"$comment": "UNDOCUMENTED",
"title": "On Eat" "title": "On Eat"
}, },
"success_chance": { "success_chance": {
"title": "Succes Chance", "title": "Succes Chance",
"description": "UNDOCUMENTED", "description": "A molang expression defining the success chance the entity has to consume a block.",
"$comment": "UNDOCUMENTED", "default": 0.02,
"$ref": "../../../../molang/number.json" "$ref": "../../../../molang/number.json"
}, },
"time_until_eat": { "time_until_eat": {
"title": "Time Until Eat", "title": "Time Until Eat",
"description": "UNDOCUMENTED", "description": "The amount of time (in seconds) it takes for the block to be eaten upon a successful eat attempt.",
"$comment": "UNDOCUMENTED", "default": 1.8,
"type": "number" "type": "number"
}, },
"eat_and_replace_block_pairs": { "eat_and_replace_block_pairs": {
"type": "array", "type": "array",
"title": "Eat And Replace Block Pairs", "title": "Eat And Replace Block Pairs",
"description": "UNDOCUMENTED", "description": "A collection of pairs of blocks; the first (\"eat_block\")is the block the entity should eat, the second (\"replace_block\") is the block that should replace the eaten block.",
"$comment": "UNDOCUMENTED",
"items": { "items": {
"type": "object", "type": "object",
"title": "Eat And Replace Block Pair", "title": "Eat And Replace Block Pair",
@@ -60,7 +55,12 @@
"examples": [ "examples": [
{ {
"time_until_eat": 0.0, "time_until_eat": 0.0,
"eat_and_replace_block_pairs": [] "eat_and_replace_block_pairs": [
{
"eat_block": "minecraft:grass",
"replace_block": "minecraft:dirt"
}
]
} }
] ]
} }

View File

@@ -2,7 +2,7 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.equip_item", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.equip_item",
"type": "object", "type": "object",
"title": "Equip Item", "title": "Equip Item",
"description": "Allows the entity to equip desired equipment.", "description": "The entity puts on the desired equipment.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": {

View File

@@ -2,101 +2,71 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.explore_outskirts", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.explore_outskirts",
"type": "object", "type": "object",
"title": "Explore Outskirts", "title": "Explore Outskirts",
"description": "behavior explore outskirts", "description": "Allows the entity to first travel to a random point on the outskirts of the village, and then explore random points within a small distance. This goal requires \"minecraft:dweller\" and \"minecraft:navigation\" to execute.",
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
}, "dist_from_boundary": {
"speed_multiplier": { "title": "Dist From Boundary",
"$ref": "types/speed_multiplier.json" "default": [5, 0, 5],
"description": "The distance from the boundary the villager must be within in to explore the outskirts.",
"$ref": "../../../../general/vectors/number3.json"
}, },
"explore_dist": { "explore_dist": {
"title": "Explore Dist",
"type": "number", "type": "number",
"default": 5, "default": 5.0,
"description": "The distance in which the mob will proceed past the village bounds", "description": "Total distance in blocks the the entity will explore beyond the village bounds when choosing its travel point."
"title": "Explore Dist"
}, },
"wait_time": { "max_travel_time": {
"type": "integer", "title": "Max Travel Time",
"default": 0, "type": "number",
"description": "The time the mob will stand around `searching` for POIs", "default": 60.0,
"title": "Wait Time" "description": "This is the maximum amount of time an entity will attempt to reach it's travel point on the outskirts of the village before the goal exits."
},
"max_wait_time": {
"title": "Max Wait Time",
"type": "number",
"default": 0.0,
"description": "The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the minimum wait time. This value is also the total amount of time the entity will explore random points before the goal stops."
},
"min_dist_from_target": {
"title": "Min Dist From Target",
"type": "number",
"default": 2.2,
"description": "The entity must be within this distance for it to consider it has successfully reached its target."
},
"min_perimeter": {
"title": "Min Perimeter",
"type": "number",
"default": 1.0,
"description": "The minimum perimeter of the village required to run this goal."
},
"min_wait_time": {
"title": "Min Wait Time",
"type": "number",
"default": 3.0,
"description": "The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the maximum wait time."
}, },
"next_xz": { "next_xz": {
"title": "Next XZ", "title": "Next XZ",
"description": "UNDOCUMENTED", "type": "integer",
"$comment": "UNDOCUMENTED", "default": 5,
"type": "integer" "description": "A new explore point will randomly be chosen within this XZ distance of the current target position when navigation has finished and the wait timer has elapsed."
}, },
"next_y": { "next_y": {
"title": "Next Y", "title": "Next Y",
"description": "UNDOCUMENTED", "type": "integer",
"$comment": "UNDOCUMENTED", "default": 3,
"type": "integer" "description": "A new explore point will randomly be chosen within this Y distance of the current target position when navigation has finished and the wait timer has elapsed."
},
"min_wait_time": {
"title": "Minimum Wait Time",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
},
"max_wait_time": {
"title": "Maximum Wait Time",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
},
"max_travel_time": {
"title": "Maximum Travel Time",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
},
"min_perimeter": {
"title": "Minimum Perimeter",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
},
"min_dist_from_target": {
"title": "Minimum Distance From Target",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
}, },
"timer_ratio": { "timer_ratio": {
"title": "Timer Ratio", "title": "Timer Ratio",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED", "default": 2.0,
"type": "number" "description": "Each new explore point will be chosen on a random interval between the minimum and the maximum wait time, divided by this value. This does not apply to the first explore point chosen when the goal runs."
},
"dist_from_boundary": {
"title": "Distance From Boundary",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "array",
"items": [
{
"title": "X",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
},
{
"title": "Y",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
},
{
"title": "Z",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"type": "number"
}
]
} }
}, },
"examples": [ "examples": [
@@ -114,4 +84,4 @@
"dist_from_boundary": [] "dist_from_boundary": []
} }
] ]
} }

View File

@@ -1,26 +0,0 @@
{
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.find_cover",
"type": "object",
"title": "Find Cover",
"description": "Allows the mob to seek shade.",
"additionalProperties": false,
"properties": {
"priority": {
"$ref": "types/priority.json"
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown_time": {
"type": "number",
"default": 0,
"description": "Time in seconds the mob has to wait before using the goal again",
"title": "Cooldown Time"
}
},
"examples": [
{
"cooldown_time": 0
}
]
}

View File

@@ -5,12 +5,8 @@
"description": "Allows the mob to seek shade.", "description": "Allows the mob to seek shade.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown_time": { "cooldown_time": {
"type": "number", "type": "number",
"default": 0, "default": 0,
@@ -23,4 +19,4 @@
"cooldown_time": 0 "cooldown_time": 0
} }
] ]
} }

View File

@@ -2,7 +2,7 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.follow_owner", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.follow_owner",
"type": "object", "type": "object",
"title": "Follow Owner", "title": "Follow Owner",
"description": "Allows the mob to follow their parent around.", "description": "Allows the mob to follow the player that owns them.",
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
@@ -12,17 +12,35 @@
"speed_multiplier": { "speed_multiplier": {
"$ref": "./types/speed_multiplier.json" "$ref": "./types/speed_multiplier.json"
}, },
"start_distance": { "can_teleport": {
"title": "Can Teleport",
"type": "boolean",
"default": true,
"description": "Specify if the mob can teleport to the player if it is too far away"
},
"ignore_vibration": {
"title": "Ignore Vibration",
"type": "boolean",
"default": true,
"description": "Specify if the mob will follow the owner if it has heard a vibration lately"
},
"max_distance": {
"title": "Max Distance",
"type": "number", "type": "number",
"default": 10, "default": 60.0,
"description": "The distance in blocks that the owner can be away from this mob before it starts following it", "description": "The maximum distance in blocks this mob can be from its owner to start following, only used when canTeleport is false"
"title": "Start Distance" },
"start_distance": {
"title": "Start Distance",
"type": "number",
"default": 10.0,
"description": "The distance in blocks that the owner can be away from this mob before it starts following it"
}, },
"stop_distance": { "stop_distance": {
"title": "Stop Distance",
"type": "number", "type": "number",
"default": 2, "default": 2.0,
"description": "The distance in blocks this mob will stop from its owner while following it", "description": "The distance in blocks this mob will stop from its owner while following it"
"title": "Stop Distance"
} }
}, },
"examples": [ "examples": [
@@ -31,4 +49,4 @@
"stop_distance": 2 "stop_distance": 2
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"follow_distance": { "follow_distance": {
"type": "number", "type": "number",
"default": 0, "default": 0,
@@ -31,4 +27,4 @@
"within_radius": 0 "within_radius": 0
} }
] ]
} }

View File

@@ -5,12 +5,8 @@
"title": "Go Home", "title": "Go Home",
"type": "object", "type": "object",
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,
@@ -24,15 +20,20 @@
"title": "Interval" "title": "Interval"
}, },
"on_home": { "on_home": {
"description": "Event to run when this mob gets home.", "description": "Event(s) to run when this mob gets home.",
"title": "On Home", "title": "On Home",
"oneOf": [{ "$ref": "../types/trigger.json" }, { "type": "array", "items": { "$ref": "../types/trigger.json" } }] "oneOf": [{ "$ref": "../types/trigger.json" }, { "type": "array", "items": { "$ref": "../types/trigger.json" } }]
}, },
"on_failed": { "on_failed": {
"title": "On Failed", "title": "On Failed",
"description": "UNDOCUMENTED", "description": "Event(s) to run when this goal fails.",
"$comment": "UNDOCUMENTED",
"oneOf": [{ "$ref": "../types/event.json" }, { "type": "array", "items": { "$ref": "../types/event.json" } }] "oneOf": [{ "$ref": "../types/event.json" }, { "type": "array", "items": { "$ref": "../types/event.json" } }]
},
"calculate_new_path_radius": {
"title": "Calculate New Path Radius",
"type": "number",
"default": 2.0,
"description": "Distance in blocks that the mob is considered close enough to the end of the current path. A new path will then be calculated to continue toward home."
} }
}, },
"examples": [ "examples": [

View File

@@ -2,12 +2,54 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.guardian_attack", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.guardian_attack",
"type": "object", "type": "object",
"title": "Guardian Attack", "title": "Guardian Attack",
"description": "Allows the guardian to use its laser beam attack. Can only be used by Guardians and Elder Guardians.", "description": "Allows this entity to use a laser beam attack. Can only be used by Guardians and Elder Guardians.",
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": {
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
},
"elder_extra_magic_damage": {
"title": "Elder Extra Magic Damage",
"type": "integer",
"default": 2,
"description": "Amount of additional damage dealt from an elder guardian's magic attack."
},
"hard_mode_extra_magic_damage": {
"title": "Hard Mode Extra Magic Damage",
"type": "integer",
"default": 2,
"description": "In hard difficulty, amount of additional damage dealt from a guardian's magic attack."
},
"magic_damage": {
"title": "Magic Damage",
"type": "integer",
"default": 1,
"description": "Amount of damage dealt from a guardian's magic attack. Magic attack damage is added to the guardian's base attack damage."
},
"min_distance": {
"title": "Min Distance",
"type": "number",
"default": 3,
"description": "Guardian attack behavior stops if the target is closer than this distance (doesn't apply to elders)."
},
"sound_delay_time": {
"title": "Sound Delay Time",
"type": "number",
"default": 0.5,
"description": "Time (in seconds) to wait after starting an attack before playing the guardian attack sound."
},
"x_max_rotation": {
"title": "X Max Rotation",
"type": "number",
"default": 90,
"description": "Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."
},
"y_max_head_rotation": {
"title": "Y Max Head Rotation",
"type": "number",
"default": 90,
"description": "Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."
} }
} }
} }

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"max_seconds_before_search": { "max_seconds_before_search": {
"title": "Maximum Seconds Before Search", "title": "Maximum Seconds Before Search",
"description": "UNDOCUMENTED", "description": "UNDOCUMENTED",
@@ -38,4 +34,4 @@
"seconds_until_new_task": 0.0 "seconds_until_new_task": 0.0
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"description": "Allows a mob with the hide component to attempt to move to - and hide at - an owned or nearby POI.", "description": "Allows a mob with the hide component to attempt to move to - and hide at - an owned or nearby POI.",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"duration": { "duration": {
"type": "number", "type": "number",
"default": 1, "default": 1,
@@ -23,9 +19,7 @@
"default": "", "default": "",
"description": "Defines what POI type to hide at.", "description": "Defines what POI type to hide at.",
"title": "Point Of Interest Type", "title": "Point Of Interest Type",
"examples": [ "examples": ["bed"]
"bed"
]
}, },
"timeout_cooldown": { "timeout_cooldown": {
"type": "number", "type": "number",
@@ -41,4 +35,4 @@
"timeout_cooldown": 8 "timeout_cooldown": 8
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"description": "Allows the mob to inspect bookshelves.", "description": "Allows the mob to inspect bookshelves.",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,
@@ -45,4 +41,4 @@
"search_range": 0 "search_range": 0
} }
] ]
} }

View File

@@ -2,61 +2,76 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.jump_to_block", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.jump_to_block",
"type": "object", "type": "object",
"title": "Melee Attack", "title": "Melee Attack",
"description": "Allows the mob to search around for a block to jump to and then jump to that block.", "description": "Allows an entity to jump to another random block.",
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": {
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
}, },
"search_width": {
"type": "integer",
"title": "Search Width",
"default": 8,
"description": "The maximum width in blocks that the mob will search. Range [2, 15]."
},
"search_height": {
"type": "integer",
"default": 10,
"title": "Search Height",
"description": "The maximum height in blocks that the mob will search. Range [2, 15]."
},
"minimum_path_length": {
"type": "integer",
"default": 5,
"title": "Minimum Path Length",
"description": "The minimum length in blocks of the mob's path to a block in order to consider jumping to it."
},
"minimum_distance": {
"type": "number",
"default": 5,
"title": "Minimum Distance",
"description": "The minimum distance in blocks from the mob to a block in order to consider jumping to it."
},
"scale_factor": {
"type": "number",
"title": "Scale Factor",
"default": 0.7,
"description": "The scale factor of the bounding box of the mob while it is jumping."
},
"cooldown_range": { "cooldown_range": {
"title": "Cooldown Range", "title": "Cooldown Range",
"description": "The minimum and maximum cooldown time-range in seconds between each attempted jump.", "$ref": "../types/range_number_type.json",
"default": [10, 20],
"description": "Minimum and maximum cooldown time-range (positive, in seconds) between each attempted jump."
},
"forbidden_blocks": {
"title": "Forbidden Blocks",
"type": "array", "type": "array",
"items": [ "description": "Blocks that the mob can't jump to.",
{ "items": {
"title": "Minimum", "$ref": "../../../../general/block/identifier.json"
"description": "Minimum", }
"type": "number", },
"minimum": 0 "max_velocity": {
}, "title": "Max Velocity",
{ "type": "number",
"title": "Maximum", "default": 1500000,
"description": "Maximum", "description": "The maximum velocity with which the mob can jump."
"type": "number", },
"minimum": 0 "minimum_distance": {
} "title": "Minimum Distance",
] "type": "integer",
"default": 2,
"description": "The minimum distance (in blocks) from the mob to a block, in order to consider jumping to it."
},
"minimum_path_length": {
"title": "Minimum Path Length",
"type": "integer",
"default": 5,
"description": "The minimum length (in blocks) of the mobs path to a block, in order to consider jumping to it."
},
"preferred_blocks": {
"title": "Preferred Blocks",
"type": "array",
"description": "Blocks that the mob prefers jumping to.",
"items": {
"$ref": "../../../../general/block/identifier.json"
}
},
"preferred_blocks_chance": {
"title": "Preferred Blocks Chance",
"type": "number",
"default": 1000000,
"description": "Chance (between 0.0 and 1.0) that the mob will jump to a preferred block, if in range. Only matters if preferred blocks are defined."
},
"scale_factor": {
"title": "Scale Factor",
"type": "number",
"default": 0.7,
"description": "The scalefactor of the bounding box of the mob while it is jumping."
},
"search_height": {
"title": "Search Height",
"type": "integer",
"default": 10,
"description": "The height (in blocks, in range [2, 15]) of the search box, centered around the mob."
},
"search_width": {
"title": "Search Width",
"type": "integer",
"default": 8,
"description": "The width (in blocks, in range [2, 15]) of the search box, centered around the mob."
} }
}, },
"examples": [ "examples": [

View File

@@ -9,16 +9,21 @@
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
}, },
"attack_time": { "attack_time": {
"title": "Attack Time",
"type": "number", "type": "number",
"default": 0.5, "default": 1.0,
"description": "The delay after which the knockback occurs (in seconds).", "description": "The delay after which the knockback occurs (in seconds)."
"title": "Attack Time"
}, },
"cooldown_time": { "cooldown_time": {
"title": "Cooldown Time",
"type": "number", "type": "number",
"default": 0, "default": 0,
"description": "Time in seconds the mob has to wait before using the goal again", "description": "Time in seconds the mob has to wait before using the goal again"
"title": "Cooldown Time" },
"damage_filters": {
"$ref": "../../filters/filters.json",
"description": "The list of conditions another entity must meet to be a valid target to apply damage to.",
"title": "Damage Filters"
}, },
"duration": { "duration": {
"type": "number", "type": "number",
@@ -32,6 +37,17 @@
"description": "The damage dealt by the knockback roar.", "description": "The damage dealt by the knockback roar.",
"title": "Knockback Damage" "title": "Knockback Damage"
}, },
"knockback_strength": {
"type": "integer",
"default": 4,
"description": "The strength of the knockback.",
"title": "Knockback Strength"
},
"knockback_filters": {
"$ref": "../../filters/filters.json",
"description": "The list of conditions another entity must meet to be a valid target to apply knockback to.",
"title": "Knockback Filters"
},
"knockback_horizontal_strength": { "knockback_horizontal_strength": {
"type": "integer", "type": "integer",
"default": 4, "default": 4,
@@ -50,31 +66,21 @@
"description": "The strength of the vertical knockback.", "description": "The strength of the vertical knockback.",
"title": "Knockback Vertical Strength" "title": "Knockback Vertical Strength"
}, },
"knockback_height_cap": {
"title": "Knockback Height Cap",
"type": "number",
"default": 0.4,
"description": "The maximum height for vertical knockback."
},
"track_target": { "track_target": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "If true, this mob will chase after the target as long as it's a valid target", "description": "If true, this mob will chase after the target as long as it's a valid target",
"title": "Track Target" "title": "Track Target"
}, },
"knockback_strength": {
"type": "integer",
"default": 4,
"description": "The strength of the knockback.",
"title": "Knockback Strength"
},
"knockback_filters": {
"$ref": "../../filters/filters.json",
"description": "filters to use to decide what is affected by knockback roar.",
"title": "Knockback Filters"
},
"damage_filters": {
"$ref": "../../filters/filters.json",
"description": "filters to use to decide what is damaged by knockback roar.",
"title": "Damage Filters"
},
"on_roar_end": { "on_roar_end": {
"$ref": "../types/event.json", "$ref": "../types/event.json",
"description": "Event to run when knockback roar has finished.", "description": "Event that is triggered when the roar ends.",
"title": "On Roar End" "title": "On Roar End"
} }
}, },

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,
@@ -43,4 +39,4 @@
"search_range": 0 "search_range": 0
} }
] ]
} }

View File

@@ -12,64 +12,129 @@
"speed_multiplier": { "speed_multiplier": {
"$ref": "./types/speed_multiplier.json" "$ref": "./types/speed_multiplier.json"
}, },
"melee_fov": {
"type": "number", "attack_once": {
"default": 90.0, "title": "Attack Once",
"description": "The allowable FOV the actor will use to determine if it can make a valid melee attack",
"title": "Melee Fov"
},
"track_target": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "If true, this mob will chase after the target as long as it's a valid target", "description": "Allows the entity to use this attack behavior, only once EVER."
"title": "Track Target"
}, },
"attack_types": { "attack_types": {
"title": "Attack Types",
"type": "string", "type": "string",
"description": "Defines the entity types this mob will attack", "default": "N/A",
"title": "Attack Types" "description": "Defines the entity types this entity will attack."
},
"random_stop_interval": {
"type": "integer",
"default": 0,
"description": "Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance",
"title": "Random Stop Interval"
},
"reach_multiplier": {
"type": "number",
"default": 2.0,
"description": "Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)",
"title": "Reach Multiplier"
},
"attack_once": {
"type": "boolean",
"default": false,
"description": "If true, this mob will attack only one time.",
"title": "Attack Once"
},
"require_complete_path": {
"type": "boolean",
"default": false,
"description": "If true, this goal will only trigger if the mob can reach its target.",
"title": "Require Complete Path"
}, },
"cooldown_time": { "cooldown_time": {
"type": "number",
"title": "Cooldown Time", "title": "Cooldown Time",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED" "default": 1,
"description": "Cooldown time (in seconds) between attacks."
},
"inner_boundary_time_increase": {
"title": "Inner Boundary Time Increase",
"type": "number",
"default": 0.25,
"description": "Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."
},
"max_dist": {
"title": "Max Dist",
"type": "number",
"description": "Unused. No effect on \"minecraft:behavior.melee_attack\"."
},
"max_path_time": {
"title": "Max Path Time",
"type": "number",
"default": 0.55,
"description": "Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."
},
"melee_fov": {
"title": "Melee Fov",
"type": "number",
"default": 90,
"description": "Field of view (in degrees) when using the sensing component to detect an attack target."
},
"min_path_time": {
"title": "Min Path Time",
"type": "number",
"default": 0.2,
"description": "Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."
}, },
"on_attack": { "on_attack": {
"$ref": "../types/event.json",
"title": "On Attack", "title": "On Attack",
"description": "UNDOCUMENTED", "$ref": "../types/trigger.json",
"$comment": "UNDOCUMENTED" "description": "Defines the event to trigger when this entity successfully attacks."
}, },
"on_kill": { "outer_boundary_time_increase": {
"$ref": "../types/event.json", "title": "Outer Boundary Time Increase",
"title": "On Attack", "type": "number",
"description": "UNDOCUMENTED", "default": 0.5,
"$comment": "UNDOCUMENTED" "description": "Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."
},
"path_fail_time_increase": {
"title": "Path Fail Time Increase",
"type": "number",
"default": 0.75,
"description": "Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."
},
"path_inner_boundary": {
"title": "Path Inner Boundary",
"type": "number",
"default": 16,
"description": "Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."
},
"path_outer_boundary": {
"title": "Path Outer Boundary",
"type": "number",
"default": 32,
"description": "Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."
},
"random_stop_interval": {
"title": "Random Stop Interval",
"type": "integer",
"default": 0,
"description": "This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."
},
"reach_multiplier": {
"title": "Reach Multiplier",
"type": "number",
"default": 2,
"description": "Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."
},
"require_complete_path": {
"title": "Require Complete Path",
"type": "boolean",
"default": false,
"description": "Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."
},
"set_persistent": {
"title": "Set Persistent",
"type": "boolean",
"default": false,
"description": "Allows the actor to be set to persist upon targeting a player"
},
"target_dist": {
"title": "Target Dist",
"type": "number",
"description": "Unused. No effect on \"minecraft:behavior.melee_attack\"."
},
"track_target": {
"title": "Track Target",
"type": "boolean",
"default": false,
"description": "Allows the entity to track the attack target, even if the entity has no sensing."
},
"x_max_rotation": {
"title": "X Max Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."
},
"y_max_head_rotation": {
"title": "Y Max Head Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."
} }
}, },
"examples": [ "examples": [
@@ -84,4 +149,4 @@
"cooldown_time": 0.0 "cooldown_time": 0.0
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown_time": { "cooldown_time": {
"type": "number", "type": "number",
"default": 0, "default": 0,
@@ -54,4 +50,4 @@
"mingle_distance": 2.0 "mingle_distance": 2.0
} }
] ]
} }

View File

@@ -15,7 +15,7 @@
"timeout_cooldown": { "timeout_cooldown": {
"type": "number", "type": "number",
"default": 8, "default": 8,
"description": "The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition", "description": "The cooldown time in seconds before the goal can be reused after pathfinding fails",
"title": "Timeout Cooldown" "title": "Timeout Cooldown"
} }
}, },
@@ -24,4 +24,4 @@
"timeout_cooldown": 8 "timeout_cooldown": 8
} }
] ]
} }

View File

@@ -8,10 +8,35 @@
"properties": { "properties": {
"priority": { "$ref": "types/priority.json" }, "priority": { "$ref": "types/priority.json" },
"speed_multiplier": { "$ref": "./types/speed_multiplier.json" }, "speed_multiplier": { "$ref": "./types/speed_multiplier.json" },
"goal_radius": {
"title": "Goal Radius",
"type": "number",
"default": 0.5,
"description": "The radius away from the target block to count as reaching the goal."
},
"search_count": {
"title": "Search Count",
"type": "integer",
"default": 0.0,
"description": "The amount of times to try finding a random outdoors position before failing."
},
"search_height": {
"title": "Search Height",
"type": "integer",
"default": 0.0,
"description": "The y range to search for an outdoors position for."
},
"search_range": {
"title": "Search Range",
"type": "integer",
"default": 0.0,
"description": "The x and z range to search for an outdoors position for."
},
"timeout_cooldown": { "timeout_cooldown": {
"title": "Duration", "title": "Timeout Cooldown",
"description": "The duration in ticks of the celebration", "type": "number",
"type": "number" "default": 8000000,
"description": "The cooldown time in seconds before the goal can be reused after pathfinding fails"
} }
} }
} }

View File

@@ -5,12 +5,8 @@
"description": "Allows the mob to move back into lava when on land.", "description": "Allows the mob to move back into lava when on land.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,
@@ -44,4 +40,4 @@
"search_range": 0 "search_range": 0
} }
] ]
} }

View File

@@ -5,12 +5,8 @@
"description": "Allows the mob to move back into lava when on land.", "description": "Allows the mob to move back into lava when on land.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,
@@ -50,4 +46,4 @@
"material_type": "example" "material_type": "example"
} }
] ]
} }

View File

@@ -3,7 +3,7 @@
"type": "object", "type": "object",
"title": "Move Towards Dwelling Restriction", "title": "Move Towards Dwelling Restriction",
"additionalProperties": false, "additionalProperties": false,
"description": "UNDOCUMENTED, comes from cat", "description": "Allows mobs with the dweller component to move toward their Village area that the mob should be restricted to.",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": {

View File

@@ -2,8 +2,7 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.move_towards_home_restriction", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.move_towards_home_restriction",
"type": "object", "type": "object",
"title": "Move Towards Home Restriction", "title": "Move Towards Home Restriction",
"description": "UNDOCUMENTED", "description": "Allows mobs with the home component to move toward their pre-defined area that the mob should be restricted to.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": {

View File

@@ -5,12 +5,8 @@
"description": "Allows the mob to move back into lava when on land.", "description": "Allows the mob to move back into lava when on land.",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown_max": { "cooldown_max": {
"type": "number", "type": "number",
"default": 0, "default": 0,

View File

@@ -9,65 +9,66 @@
"priority": { "priority": {
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
}, },
"walk_speed_multiplier": {
"type": "number",
"default": 1.0,
"description": "Multiplier for the walking speed while using this attack",
"title": "Walk Speed Multiplier"
},
"sprint_speed_multiplier": {
"type": "number",
"default": 1.0,
"description": "Multiplier for the running speed of this mob while using this attack",
"title": "Sprint Speed Multiplier"
},
"sneak_speed_multiplier": {
"type": "number",
"default": 1.0,
"description": "Multiplier for the sneaking speed. 1.0 means the ocelot will move at the speed it normally sneaks",
"title": "Sneak Speed Multiplier"
},
"cooldown_time": { "cooldown_time": {
"type": "number",
"title": "Cooldown Time", "title": "Cooldown Time",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED"
},
"x_max_rotation": {
"type": "number", "type": "number",
"title": "X Maximum Rotation", "default": 1,
"description": "UNDOCUMENTED", "description": "Time (in seconds) between attacks."
"$comment": "UNDOCUMENTED"
},
"y_max_head_rotation": {
"type": "number",
"title": "Y Maximum Head Rotation",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED"
}, },
"max_distance": { "max_distance": {
"title": "Max Distance",
"type": "number", "type": "number",
"title": "Maximum Distance", "default": 15,
"description": "UNDOCUMENTED", "description": "Max distance from the target, this entity will use this attack behavior."
"$comment": "UNDOCUMENTED"
}, },
"max_sneak_range": { "max_sneak_range": {
"title": "Max Sneak Range",
"type": "number", "type": "number",
"title": "Maximum Sneak Range", "default": 15,
"description": "UNDOCUMENTED", "description": "Max distance from the target, this entity starts sneaking."
"$comment": "UNDOCUMENTED"
}, },
"max_sprint_range": { "max_sprint_range": {
"title": "Max Sprint Range",
"type": "number", "type": "number",
"title": "Maximum Sprint Range", "default": 4,
"description": "UNDOCUMENTED", "description": "Max distance from the target, this entity starts sprinting (sprinting takes priority over sneaking)."
"$comment": "UNDOCUMENTED"
}, },
"reach_multiplier": { "reach_multiplier": {
"type": "number",
"title": "Reach Multiplier", "title": "Reach Multiplier",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED" "default": 2,
"description": "Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."
},
"sneak_speed_multiplier": {
"title": "Sneak Speed Multiplier",
"type": "number",
"default": 0.6,
"description": "Modifies the attacking entity's movement speed while sneaking."
},
"sprint_speed_multiplier": {
"title": "Sprint Speed Multiplier",
"type": "number",
"default": 1.33,
"description": "Modifies the attacking entity's movement speed while sprinting."
},
"walk_speed_multiplier": {
"title": "Walk Speed Multiplier",
"type": "number",
"default": 0.8,
"description": "Modifies the attacking entity's movement speed when not sneaking or sprinting, but still within attack range."
},
"x_max_rotation": {
"title": "X Max Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."
},
"y_max_head_rotation": {
"title": "Y Max Head Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."
} }
}, },
"examples": [ "examples": [
@@ -84,4 +85,4 @@
"reach_multiplier": 0.0 "reach_multiplier": 0.0
} }
] ]
} }

View File

@@ -5,12 +5,8 @@
"title": "Tempt", "title": "Tempt",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,

View File

@@ -5,12 +5,8 @@
"type": "object", "type": "object",
"title": "Pickup Items", "title": "Pickup Items",
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"can_pickup_any_item": { "can_pickup_any_item": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,

View File

@@ -9,46 +9,48 @@
"priority": { "priority": {
"$ref": "types/priority.json" "$ref": "types/priority.json"
}, },
"apply_regeneration": {
"title": "Apply Regeneration",
"type": "boolean",
"default": true,
"description": "Whether the mob will receive the regeneration effect while playing dead."
},
"duration": { "duration": {
"title": "Duration", "title": "Duration",
"description": "The amount of time in seconds that the mob will remain playing dead.",
"type": "number", "type": "number",
"minimum": 0 "default": 1000000,
"description": "The amount of time the mob will remain playing dead (in seconds)."
},
"filters": {
"title": "Filters",
"description": "The list of other triggers that are required for the mob to activate play dead",
"$ref": "../../filters/filters.json"
}, },
"force_below_health": { "force_below_health": {
"title": "Force Below Health", "title": "Force Below Health",
"description": "The amount of health at which the mob will start to play dead.", "type": "integer",
"type": "number", "default": 0,
"minimum": 0 "description": "The amount of health at which damage will cause the mob to play dead."
}, },
"random_start_chance": { "random_start_chance": {
"title": "Random Start Chance", "title": "Random Start Chance",
"description": "The likelihood that the mob will start to play dead upon taking damage.",
"type": "number", "type": "number",
"minimum": 0 "default": 1000000,
"description": "The likelihood of this goal starting upon taking damage."
}, },
"random_damage_range": { "random_damage_range": {
"title": "Random Damage Range", "title": "Random Damage Range",
"description": "The range of damage that may cause the mob to start playing dead. Damage taken below the minimum value will never cause the mob to start playing dead. Damage taken above the maximum value will always cause the mob to start playing dead.", "description": "The range of damage that may cause the goal to start depending on randomness. Damage taken below the min will never cause the goal to start. Damage taken above the max will always cause the goal to start.",
"type": "array", "type": "array",
"items": [ "items": [
{ { "title": "Minimum", "description": "Minimum", "type": "integer", "minimum": 0 },
"title": "Minimum", { "title": "Maximum", "description": "Maximum", "type": "integer", "minimum": 0 }
"description": "Minimum",
"type": "integer",
"minimum": 0
},
{
"title": "Maximum",
"description": "Maximum",
"type": "integer",
"minimum": 0
}
] ]
}, },
"damage_sources": { "damage_sources": {
"title": "Damage Sources", "title": "Damage Sources",
"description": "The list of Entity Damage Sources that will cause this mob to start playing dead.", "description": "The list of Entity Damage Sources that will cause this mob to play dead.",
"default": ["all"],
"oneOf": [ "oneOf": [
{ {
"type": "string", "type": "string",
@@ -62,14 +64,6 @@
} }
} }
] ]
},
"apply_regeneration": {
"title": "Apply Regeneration",
"description": "Whether the mob will receive the effect of CombatRegeneration while playing dead.",
"type": "boolean"
},
"filters": {
"$ref": "../../filters/filters.json"
} }
}, },
"examples": [ "examples": [
@@ -81,4 +75,4 @@
"apply_regeneration": true "apply_regeneration": true
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"title": "Raid Garden", "title": "Raid Garden",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"blocks": { "blocks": {
"type": "array", "type": "array",
"description": "Blocks that the mob is looking for to eat", "description": "Blocks that the mob is looking for to eat",
@@ -79,4 +75,4 @@
"search_height": 0 "search_height": 0
} }
] ]
} }

View File

@@ -10,100 +10,74 @@
"$ref": "types/priority.json" "$ref": "types/priority.json"
}, },
"baby_knockback_modifier": { "baby_knockback_modifier": {
"type": "integer", "title": "Baby Knockback Modifier",
"default": 4, "type": "number",
"description": "The modifier to knockback for baby mobs.", "default": 0.333333,
"title": "Baby Knockback Modifier" "description": "The modifier to knockback that babies have."
}, },
"cooldown_range": { "cooldown_range": {
"type": "array",
"default": [
10.0,
20.0
],
"description": "The minimum and maximum cooldown time-range in seconds between each attempted ram attack.",
"title": "Cooldown Range", "title": "Cooldown Range",
"items": [ "$ref": "../types/range_number_type.json",
{ "default": [10, 20],
"title": "Minimum", "description": "Minimum and maximum cooldown time-range (positive, in seconds) between each attempted ram attack."
"description": "Minimum",
"type": "number",
"minimum": 0
},
{
"title": "Maximum",
"description": "Maximum",
"type": "number",
"minimum": 0
}
]
}, },
"knockback_force": { "knockback_force": {
"title": "Knockback Force",
"type": "number", "type": "number",
"default": 5, "default": 5000000,
"description": "The force of the knockback of the ram's attack.", "description": "The force of the knockback of the ram attack."
"title": "Knockback Force"
}, },
"knockback_height": { "knockback_height": {
"title": "Knockback Height",
"type": "number", "type": "number",
"default": 0.1, "default": 0.1,
"description": "The height in blocks of the knockback of the ram attack.", "description": "The height of the knockback of the ram attack."
"title": "Knockback Height"
}, },
"min_ram_distance": { "min_ram_distance": {
"type": "integer", "title": "Min Ram Distance",
"default": 4, "type": "number",
"description": "The minimum distance in blocks at which the mob can start a ram attack.", "default": 0.0,
"title": "Min Ram Distance" "description": "The minimum distance at which the mob can start a ram attack."
},
"on_start": {
"title": "On Start",
"$ref": "../types/trigger.json",
"description": "The event to trigger when attacking"
}, },
"pre_ram_sound": { "pre_ram_sound": {
"title": "Pre Ram Sound",
"type": "string", "type": "string",
"description": "The sound to play when the mob is about to perform a ram attack.", "default": "",
"title": "Pre Ram Sound" "description": "The sound to play when an entity is about to perform a ram attack."
}, },
"ram_distance": { "ram_distance": {
"type": "integer", "title": "Ram Distance",
"default": 7, "type": "number",
"description": "The distance in blocks at which the mob will start to ram its target.", "default": 0.0,
"title": "Ram Distance" "description": "The distance at which the mob start to run with ram speed."
}, },
"ram_impact_sound": { "ram_impact_sound": {
"title": "Ram Impact Sound",
"type": "string", "type": "string",
"description": "The sound to play when the mob hits the target with a ram attack .", "default": "",
"title": "Ram Impact Sound" "description": "The sound to play when an entity is impacting on a ram attack."
}, },
"ram_speed": { "ram_speed": {
"title": "Ram Speed",
"type": "number", "type": "number",
"default": 2, "default": 2000000,
"description": "Sets the mob's speed when performing a ram attack toward the target.", "description": "Sets the entity's speed when charging toward the target."
"title": "Ram Speed"
}, },
"run_speed": { "run_speed": {
"title": "Run Speed",
"type": "number", "type": "number",
"default": 1, "default": 1000000,
"description": "Sets the mob's speed when running toward the target.", "description": "Sets the entity's speed when running toward the target."
"title": "Run Speed"
}, },
"trigger": { "trigger": {
"description": "The event to trigger when attacking.", "description": "The event to trigger when attacking.",
"title": "Trigger", "title": "Trigger",
"$ref": "../types/trigger.json" "$ref": "../types/trigger.json"
},
"on_start": {
"title": "On Start",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED",
"oneOf": [
{
"$ref": "../types/event.json"
},
{
"type": "array",
"items": {
"$ref": "../types/event.json"
}
}
]
} }
}, },
"examples": [ "examples": [
@@ -120,4 +94,4 @@
"run_speed": 1 "run_speed": 1
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown_time": { "cooldown_time": {
"type": "number", "type": "number",
"default": 0, "default": 0,
@@ -45,4 +41,4 @@
"y_dist": 7 "y_dist": 7
} }
] ]
} }

View File

@@ -5,12 +5,8 @@
"title": "Random Fly", "title": "Random Fly",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"avoid_damage_blocks": { "avoid_damage_blocks": {
"type": "boolean", "type": "boolean",
"description": "UNDOCUMENTED", "description": "UNDOCUMENTED",
@@ -51,4 +47,4 @@
"y_offset": 0 "y_offset": 0
} }
] ]
} }

View File

@@ -5,12 +5,8 @@
"title": "Random Hover", "title": "Random Hover",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"hover_height": { "hover_height": {
"type": "array", "type": "array",
"description": "UNDOCUMENTED", "description": "UNDOCUMENTED",
@@ -59,4 +55,4 @@
"y_offset": 0 "y_offset": 0
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown": { "cooldown": {
"type": "number", "type": "number",
"default": 0, "default": 0,
@@ -52,4 +48,4 @@
"stop_chance": 0.3 "stop_chance": 0.3
} }
] ]
} }

View File

@@ -5,12 +5,8 @@
"title": "Random Stroll", "title": "Random Stroll",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"interval": { "interval": {
"type": "integer", "type": "integer",
"default": 120, "default": 120,
@@ -38,4 +34,4 @@
"y_dist": 7 "y_dist": 7
} }
] ]
} }

View File

@@ -5,12 +5,8 @@
"description": "Allows an entity to randomly move through water", "description": "Allows an entity to randomly move through water",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"avoid_surface": { "avoid_surface": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
@@ -45,4 +41,4 @@
"y_dist": 7 "y_dist": 7
} }
] ]
} }

View File

@@ -6,78 +6,97 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"attack_interval": { "attack_interval": {
"title": "Attack Interval",
"type": "number", "type": "number",
"default": 0, "default": 0,
"description": "UNDOCUMENTED", "description": "Alternative to \"attack_interval_min\" & \"attack_interval_max\". Consistent reload-time (in seconds), when not using a charged shot. Does not scale with target-distance."
"$comment": "UNDOCUMENTED",
"title": "Attack Interval"
}, },
"attack_interval_max": { "attack_interval_max": {
"title": "Attack Interval Max",
"type": "number", "type": "number",
"default": 0, "default": 0,
"description": "Maximum amount of time in seconds the entity will wait after an attack before launching another", "description": "Maximum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance."
"title": "Attack Interval Maximum"
}, },
"attack_interval_min": { "attack_interval_min": {
"title": "Attack Interval Min",
"type": "number", "type": "number",
"default": 0, "default": 0,
"description": "Minimum amount of time in seconds the entity will wait after an attack before launching another", "description": "Minimum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance."
"title": "Attack Interval Minimum"
}, },
"attack_radius": { "attack_radius": {
"title": "Attack Radius",
"type": "number", "type": "number",
"default": 0, "default": 0,
"description": "Maximum distance the target can be for this mob to fire. If the target is further away, this mob will move first before firing", "description": "Minimum distance to target before this entity will attempt to shoot."
"title": "Attack Radius"
},
"burst_interval": {
"type": "number",
"default": 0,
"description": "Amount of time in seconds between each individual shot when firing multiple shots per attack",
"title": "Burst Interval"
},
"burst_shots": {
"type": "integer",
"default": 1,
"description": "Number of shots fired every time the mob uses a charged attack",
"title": "Burst Shots"
},
"charge_charged_trigger": {
"type": "number",
"default": 0,
"description": "The minimum amount of time in ticks the mob has to charge before firing a charged attack",
"title": "Charge Charged Trigger"
},
"charge_shoot_trigger": {
"type": "number",
"default": 0,
"description": "The minimum amount of time in ticks for the mob to start charging a charged shot. Must be greater than 0 to enable burst shots",
"title": "Charge Shoot Trigger"
},
"ranged_fov": {
"type": "number",
"default": 90,
"description": "The allowable FOV the actor will use to determine if it can make a valid ranged attack",
"title": "Ranged FOV"
},
"target_in_sight_time": {
"type": "number",
"title": "Target In Sight Time",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED"
}, },
"attack_radius_min": { "attack_radius_min": {
"type": "number",
"title": "Attack Radius Min", "title": "Attack Radius Min",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED" "default": 0,
"description": "Minimum distance the target can be for this mob to fire. If the target is closer, this mob will move first before firing"
},
"burst_interval": {
"title": "Burst Interval",
"type": "number",
"default": 0,
"description": "Time (in seconds) between each individual shot when firing a burst of shots from a charged up attack."
},
"burst_shots": {
"title": "Burst Shots",
"type": "integer",
"default": 1,
"description": "Number of shots fired every time the attacking entity uses a charged up attack."
},
"charge_charged_trigger": {
"title": "Charge Charged Trigger",
"type": "number",
"default": 0,
"description": "Time (in seconds, then add \"charge_shoot_trigger\"), before a charged up attack is done charging. Charge-time decays while target is not in sight."
},
"charge_shoot_trigger": {
"title": "Charge Shoot Trigger",
"type": "number",
"default": 0,
"description": "Amount of time (in seconds, then doubled) a charged shot must be charging before reloading burst shots. Charge-time decays while target is not in sight."
},
"ranged_fov": {
"title": "Ranged Fov",
"type": "number",
"default": 90,
"description": "Field of view (in degrees) when using sensing to detect a target for attack."
},
"set_persistent": {
"title": "Set Persistent",
"type": "boolean",
"default": false,
"description": "Allows the actor to be set to persist upon targeting a player"
},
"swing": {
"title": "Swing",
"type": "boolean",
"default": false,
"description": "If a swing animation (using variable.attack_time) exists, this causes the actor to swing their arm(s) upon firing the ranged attack."
},
"target_in_sight_time": {
"title": "Target In Sight Time",
"type": "number",
"default": 1,
"description": "Minimum amount of time (in seconds) the attacking entity needs to see the target before moving toward it."
},
"x_max_rotation": {
"title": "X Max Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."
},
"y_max_head_rotation": {
"title": "Y Max Head Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."
} }
}, },
"examples": [ "examples": [
@@ -95,4 +114,4 @@
"attack_radius_min": 0.0 "attack_radius_min": 0.0
} }
] ]
} }

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"entity_types": { "entity_types": {
"$ref": "../types/entity_types.json", "$ref": "../types/entity_types.json",
"description": "List of entities this mob will share items with", "description": "List of entities this mob will share items with",

View File

@@ -6,12 +6,8 @@
"title": "Sleep", "title": "Sleep",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"cooldown_time": { "cooldown_time": {
"type": "number", "type": "number",
"default": 0, "default": 0,

View File

@@ -5,14 +5,25 @@
"type": "object", "type": "object",
"title": "Slime Attack", "title": "Slime Attack",
"properties": { "properties": {
"priority": { "priority": { "$ref": "./types/priority.json" },
"$ref": "./types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"set_persistent": { "set_persistent": {
"title": "Set Persistent",
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "Allows the actor to be set to persist upon targeting a player", "description": "Allows the actor to be set to persist upon targeting a player"
"title": "Set Persistent" },
"x_max_rotation": {
"title": "X Max Rotation",
"type": "number",
"default": 10,
"description": "Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."
},
"y_max_rotation": {
"title": "Y Max Rotation",
"type": "number",
"default": 10,
"description": "Maximum rotation (in degrees), on the Y-axis, this entity can rotate while trying to look at the target."
} }
}, },
"examples": [ "examples": [

View File

@@ -1,22 +1,18 @@
{ {
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.slime_float", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.slime_float",
"additionalProperties": false, "additionalProperties": false,
"description": "Can only be used by Slimes and Magma Cubes. Controls their ability to float in water / lava.", "description": "Allow slimes to float in water / lava. Can only be used by Slime and Magma Cubes.",
"type": "object", "type": "object",
"title": "Slime Float", "title": "Slime Float",
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"jump_chance_percentage": { "jump_chance_percentage": {
"type": "number", "type": "number",
"title": "Sink Delta", "title": "Jump Chance Percentage",
"description": "UNDOCUMENTED", "default": 0.8,
"$comment": "UNDOCUMENTED" "description": "Percent chance a slime or magma cube has to jump while in water / lava."
} }
}, },
"examples": [ "examples": [

View File

@@ -10,22 +10,22 @@
"$ref": "./types/priority.json" "$ref": "./types/priority.json"
}, },
"add_random_time_range": { "add_random_time_range": {
"type": "number",
"title": "Add Random Time Range", "title": "Add Random Time Range",
"description": "UNDOCUMENTED", "type": "integer",
"$comment": "UNDOCUMENTED" "default": 3,
}, "description": "Additional time (in whole seconds), chosen randomly in the range of [0, \"add_random_time_range\"], to add to \"min_change_direction_time\"."
"turn_range": {
"type": "number",
"title": "Turn Range",
"description": "UNDOCUMENTED",
"$comment": "UNDOCUMENTED"
}, },
"min_change_direction_time": { "min_change_direction_time": {
"title": "Min Change Direction Time",
"type": "number", "type": "number",
"title": "Minimum Change Direction Time", "default": 2,
"description": "UNDOCUMENTED", "description": "Constant minimum time (in seconds) to wait before choosing a new direction."
"$comment": "UNDOCUMENTED" },
"turn_range": {
"title": "Turn Range",
"type": "integer",
"default": 360,
"description": "Maximum rotation angle range (in degrees) when randomly choosing a new direction."
} }
}, },
"examples": [ "examples": [

View File

@@ -6,70 +6,143 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"attack_once": { "attack_once": {
"title": "Attack Once",
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "If true, this mob will attack only one time.", "description": "Allows the entity to use this attack behavior, only once EVER."
"title": "Attack Once"
}, },
"attack_types": { "attack_types": {
"title": "Attack Types",
"type": "string", "type": "string",
"default": "", "default": "N/A",
"description": "Defines the entity types this mob will attack", "description": "Defines the entity types this entity will attack."
"title": "Attack Types"
}, },
"probability": { "cooldown_time": {
"title": "Cooldown Time",
"type": "number", "type": "number",
"default": 0.02, "default": 1,
"description": "The probability of sneezing. A value of 1.00 is 100%", "description": "Cooldown time (in seconds) between attacks."
"title": "Probability"
}, },
"random_stop_interval": { "inner_boundary_time_increase": {
"type": "integer", "title": "Inner Boundary Time Increase",
"default": 0,
"description": "Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance",
"title": "Random Stop Interval"
},
"reach_multiplier": {
"type": "number", "type": "number",
"default": 2, "default": 0.25,
"description": "Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)", "description": "Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."
"title": "Reach Multiplier"
}, },
"require_complete_path": { "max_dist": {
"type": "boolean", "title": "Max Dist",
"default": false,
"description": "If true, this goal will only trigger if the mob can reach its target.",
"title": "Require Complete Path"
},
"sound": {
"type": "string",
"description": "Sound to play when the sneeze occurs.",
"title": "Sound"
},
"track_target": {
"type": "boolean",
"default": false,
"description": "If true, this mob will chase after the target as long as it's a valid target",
"title": "Track Target"
},
"stomp_range_multiplier": {
"type": "number", "type": "number",
"title": "Stomp Range Multiplier", "description": "Unused. No effect on \"minecraft:behavior.melee_attack\"."
"description": "UNDOCUMENTED", },
"$comment": "UNDOCUMENTED" "max_path_time": {
"title": "Max Path Time",
"type": "number",
"default": 0.55,
"description": "Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."
},
"melee_fov": {
"title": "Melee Fov",
"type": "number",
"default": 90,
"description": "Field of view (in degrees) when using the sensing component to detect an attack target."
},
"min_path_time": {
"title": "Min Path Time",
"type": "number",
"default": 0.2,
"description": "Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."
}, },
"no_damage_range_multiplier": { "no_damage_range_multiplier": {
"type": "number",
"title": "No Damage Range Multiplier", "title": "No Damage Range Multiplier",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED" "default": 2,
"description": "Multiplied with the final AoE damage range to determine a no damage range. The stomp attack will go on cooldown if target is in this no damage range."
},
"on_attack": {
"title": "On Attack",
"$ref": "../types/trigger.json",
"description": "Defines the event to trigger when this entity successfully attacks."
},
"outer_boundary_time_increase": {
"title": "Outer Boundary Time Increase",
"type": "number",
"default": 0.5,
"description": "Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."
},
"path_fail_time_increase": {
"title": "Path Fail Time Increase",
"type": "number",
"default": 0.75,
"description": "Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."
},
"path_inner_boundary": {
"title": "Path Inner Boundary",
"type": "number",
"default": 16,
"description": "Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."
},
"path_outer_boundary": {
"title": "Path Outer Boundary",
"type": "number",
"default": 32,
"description": "Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."
},
"random_stop_interval": {
"title": "Random Stop Interval",
"type": "integer",
"default": 0,
"description": "This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."
},
"reach_multiplier": {
"title": "Reach Multiplier",
"type": "number",
"default": 2,
"description": "Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."
},
"require_complete_path": {
"title": "Require Complete Path",
"type": "boolean",
"default": false,
"description": "Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."
},
"set_persistent": {
"title": "Set Persistent",
"type": "boolean",
"default": false,
"description": "Allows the actor to be set to persist upon targeting a player"
},
"stomp_range_multiplier": {
"title": "Stomp Range Multiplier",
"type": "number",
"default": 2,
"description": "Multiplied with the base size of the entity to determine stomp AoE damage range."
},
"target_dist": {
"title": "Target Dist",
"type": "number",
"description": "Unused. No effect on \"minecraft:behavior.melee_attack\"."
},
"track_target": {
"title": "Track Target",
"type": "boolean",
"default": false,
"description": "Allows the entity to track the attack target, even if the entity has no sensing."
},
"x_max_rotation": {
"title": "X Max Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."
},
"y_max_head_rotation": {
"title": "Y Max Head Rotation",
"type": "number",
"default": 30,
"description": "Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."
} }
}, },
"examples": [ "examples": [

View File

@@ -5,12 +5,8 @@
"title": "Stomp Turtle Egg", "title": "Stomp Turtle Egg",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"goal_radius": { "goal_radius": {
"type": "number", "type": "number",
"default": 0.5, "default": 0.5,

View File

@@ -1,7 +1,6 @@
{ {
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.swim_idle", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.swim_idle",
"description": "UNDOCUMENTED", "description": "Allows the entity go idle, if swimming. Entity must be in water.",
"$comment": "UNDOCUMENTED",
"type": "object", "type": "object",
"title": "Swim Idle", "title": "Swim Idle",
"additionalProperties": false, "additionalProperties": false,
@@ -12,14 +11,14 @@
"idle_time": { "idle_time": {
"type": "number", "type": "number",
"title": "Idle Time", "title": "Idle Time",
"description": "UNDOCUMENTED", "default": 5,
"$comment": "UNDOCUMENTED" "description": "Amount of time (in seconds) to stay idle."
}, },
"success_rate": { "success_rate": {
"type": "number", "type": "number",
"title": "Succes Rate", "title": "Succes Rate",
"description": "UNDOCUMENTED", "default": 0.1,
"$comment": "UNDOCUMENTED" "description": "Percent chance this entity will go idle, 1.0 = 100%."
} }
}, },
"examples": [ "examples": [

View File

@@ -6,29 +6,25 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"interval": { "interval": {
"type": "number",
"title": "Interval", "title": "Interval",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED" "default": 0.00833,
"description": "Percent chance to start wandering, when not path-finding. 1 = 100%"
}, },
"look_ahead": { "look_ahead": {
"type": "number",
"title": "Look Ahead", "title": "Look Ahead",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED" "default": 5,
"description": "Distance to look ahead for obstacle avoidance, while wandering."
}, },
"wander_time": { "wander_time": {
"type": "number",
"title": "Wander Time", "title": "Wander Time",
"description": "UNDOCUMENTED", "type": "number",
"$comment": "UNDOCUMENTED" "default": 5,
"description": "Amount of time (in seconds) to wander after wandering behavior was successfully started."
} }
}, },
"examples": [ "examples": [

View File

@@ -7,12 +7,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"success_rate": { "success_rate": {
"type": "number", "type": "number",
"title": "Success Rate", "title": "Success Rate",

View File

@@ -6,12 +6,8 @@
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "types/priority.json" },
"$ref": "types/priority.json" "speed_multiplier": { "$ref": "types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "types/speed_multiplier.json"
},
"damage_reach": { "damage_reach": {
"type": "number", "type": "number",
"title": "Damage Reach", "title": "Damage Reach",

View File

@@ -2,56 +2,52 @@
"$id": "blockception.minecraft.behavior.entities.minecraft.behavior.work", "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.work",
"type": "object", "type": "object",
"title": "Work", "title": "Work",
"description": "Allows an entity to navigate and interact with a point of interest that has been assigned as their worksite.", "description": "Allows the NPC to use the POI",
"additionalProperties": false, "additionalProperties": false,
"required": [], "required": [],
"properties": { "properties": {
"priority": { "priority": { "$ref": "./types/priority.json" },
"$ref": "./types/priority.json" "speed_multiplier": { "$ref": "./types/speed_multiplier.json" },
},
"speed_multiplier": {
"$ref": "./types/speed_multiplier.json"
},
"active_time": { "active_time": {
"title": "Active Time",
"type": "integer", "type": "integer",
"default": 0, "default": 0,
"description": "The amount of ticks the NPC will stay in their the work location", "description": "The amount of ticks the NPC will stay in their the work location"
"title": "Active Time"
}, },
"can_work_in_rain": { "can_work_in_rain": {
"title": "Can Work In Rain",
"type": "boolean", "type": "boolean",
"default": false, "default": false,
"description": "If true, this entity can work when their jobsite POI is being rained on.", "description": "If true, this entity can work when their jobsite POI is being rained on."
"title": "Can Work In Rain"
}, },
"goal_cooldown": { "goal_cooldown": {
"title": "Goal Cooldown",
"type": "integer", "type": "integer",
"default": 0, "default": 0,
"description": "The amount of ticks the goal will be on cooldown before it can be used again", "description": "The amount of ticks the goal will be on cooldown before it can be used again"
"title": "Goal Cooldown"
}, },
"on_arrival": { "on_arrival": {
"$ref": "../types/event.json", "title": "On Arrival",
"description": "Event to run when the mob reaches their jobsite and finishes working.", "$ref": "../types/trigger.json",
"title": "On Arrival" "description": "Event to run when the mob reaches their jobsite."
}, },
"sound_delay_max": { "sound_delay_max": {
"title": "Sound Delay Max",
"type": "integer", "type": "integer",
"default": 0, "default": 0,
"description": "The Maximum interval in which a sound will play", "description": "The max interval in which a sound will play."
"title": "Sound Delay Maximum"
}, },
"sound_delay_min": { "sound_delay_min": {
"title": "Sound Delay Min",
"type": "integer", "type": "integer",
"default": 0, "default": 0,
"description": "The Minimum interval in which a sound will play", "description": "The min interval in which a sound will play."
"title": "Sound Delay Minimum"
}, },
"work_in_rain_tolerance": { "work_in_rain_tolerance": {
"title": "Work In Rain Tolerance",
"type": "integer", "type": "integer",
"default": -1, "default": -1,
"description": "If `can_work_in_rain` is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal", "description": "If \"can_work_in_rain\" is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal"
"title": "Work In Rain Tolerance"
} }
}, },
"examples": [ "examples": [

View File

@@ -3,6 +3,29 @@
"type": "object", "type": "object",
"title": "Block Climber", "title": "Block Climber",
"additionalProperties": false, "additionalProperties": false,
"description": "Allows the player to detect and maneuver on the scaffolding block.", "description": "Fires off a specified event when a block in the block list is broken within the sensor range.",
"properties": {} "properties": {
"on_break": {
"title": "On Break",
"type": "array",
"description": "List of blocks to watch for being broken to fire off a specified event. If a block is in multiple lists, multiple events will fire.",
"items": {
"$ref": "../../../../general/block/identifier.json"
}
},
"sensor_radius": {
"title": "Sensor Radius",
"type": "number",
"default": 16.0,
"description": "The maximum radial distance in which a specified block can be detected. The biggest radius is 32.0."
},
"sources": {
"title": "Sources",
"type": "array",
"description": "List of sources that break the block to listen for. If none are specified, all block breaks will be detected.",
"items": {
"$ref": "../../../../general/block/identifier.json"
}
}
}
} }

View File

@@ -20,9 +20,9 @@
"container_type": { "container_type": {
"type": "string", "type": "string",
"default": "none", "default": "none",
"description": "Type of container this entity has. Can be horse, minecart_chest, minecart_hopper, inventory, container or hopper", "description": "Type of container this entity has. Can be horse, minecart_chest, chest_boat, minecart_hopper, inventory, container or hopper",
"title": "Container Type", "title": "Container Type",
"enum": ["horse", "minecart_chest", "minecart_hopper", "inventory", "container", "hopper"] "enum": ["horse", "minecart_chest", "chest_boat", "minecart_hopper", "inventory", "container", "hopper"]
}, },
"inventory_size": { "inventory_size": {
"type": "integer", "type": "integer",

Binary file not shown.