Added universal filters

This commit is contained in:
DaanV2
2021-06-03 14:01:38 +02:00
parent 9fad9ca953
commit b7ada2e6b2
70 changed files with 1389 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
{
"$id": "blockception.minecraft.behavior.entities.minecraft.filters",
"title": "Filters",
"definitions": {
"filters_spec": {
"oneOf": [
{
"propertyNames": { "enum": ["all_of", "any_of", "none_of"] },
"properties": {
"all_of": {
"title": "All Of",
"description": "All tests in an 'all_of' group must pass in order for the group to pass.",
"$ref": "#/definitions/groups_spec"
},
"any_of": {
"title": "Any Of",
"description": "One or more tests in an 'any_of' group must pass in order for the group to pass.",
"$ref": "#/definitions/groups_spec"
},
"none_of": {
"title": "None Of",
"description": "All tests in a 'none_of' group must fail in order for the group to pass.",
"$ref": "#/definitions/groups_spec"
}
}
},
{
"required": ["test"],
"properties": {
"all_of": {
"title": "All Of",
"description": "All tests in an 'all_of' group must pass in order for the group to pass.",
"$ref": "#/definitions/groups_spec"
},
"any_of": {
"title": "Any Of",
"description": "One or more tests in an 'any_of' group must pass in order for the group to pass.",
"$ref": "#/definitions/groups_spec"
},
"none_of": {
"title": "None Of",
"description": "All tests in a 'none_of' group must fail in order for the group to pass.",
"$ref": "#/definitions/groups_spec"
}
},
"allOf": [
{ "if": { "properties": { "test": { "const": "clock_time" } } }, "then": { "$ref": "./filters/clock_time.json" } },
{
"if": { "properties": { "test": { "const": "distance_to_nearest_player" } } },
"then": { "$ref": "./filters/distance_to_nearest_player.json" }
},
{ "if": { "properties": { "test": { "const": "has_ability" } } }, "then": { "$ref": "./filters/has_ability.json" } },
{ "if": { "properties": { "test": { "const": "has_biome_tag" } } }, "then": { "$ref": "./filters/has_biome_tag.json" } },
{ "if": { "properties": { "test": { "const": "has_component" } } }, "then": { "$ref": "./filters/has_component.json" } },
{ "if": { "properties": { "test": { "const": "has_container_open" } } }, "then": { "$ref": "./filters/has_container_open.json" } },
{ "if": { "properties": { "test": { "const": "has_damage" } } }, "then": { "$ref": "./filters/has_damage.json" } },
{ "if": { "properties": { "test": { "const": "has_equipment" } } }, "then": { "$ref": "./filters/has_equipment.json" } },
{ "if": { "properties": { "test": { "const": "has_mob_effect" } } }, "then": { "$ref": "./filters/has_mob_effect.json" } },
{ "if": { "properties": { "test": { "const": "has_ranged_weapon" } } }, "then": { "$ref": "./filters/has_ranged_weapon.json" } },
{ "if": { "properties": { "test": { "const": "has_tag" } } }, "then": { "$ref": "./filters/has_tag.json" } },
{ "if": { "properties": { "test": { "const": "has_target" } } }, "then": { "$ref": "./filters/has_target.json" } },
{ "if": { "properties": { "test": { "const": "has_trade_supply" } } }, "then": { "$ref": "./filters/has_trade_supply.json" } },
{ "if": { "properties": { "test": { "const": "hourly_clock_time" } } }, "then": { "$ref": "./filters/hourly_clock_time.json" } },
{ "if": { "properties": { "test": { "const": "in_block" } } }, "then": { "$ref": "./filters/in_block.json" } },
{ "if": { "properties": { "test": { "const": "in_caravan" } } }, "then": { "$ref": "./filters/in_caravan.json" } },
{ "if": { "properties": { "test": { "const": "in_clouds" } } }, "then": { "$ref": "./filters/in_clouds.json" } },
{ "if": { "properties": { "test": { "const": "in_lava" } } }, "then": { "$ref": "./filters/in_lava.json" } },
{ "if": { "properties": { "test": { "const": "in_nether" } } }, "then": { "$ref": "./filters/in_nether.json" } },
{ "if": { "properties": { "test": { "const": "in_water" } } }, "then": { "$ref": "./filters/in_water.json" } },
{ "if": { "properties": { "test": { "const": "in_water_or_rain" } } }, "then": { "$ref": "./filters/in_water_or_rain.json" } },
{ "if": { "properties": { "test": { "const": "in_contact_with_water" } } }, "then": { "$ref": "./filters/in_contact_with_water.json" } },
{ "if": { "properties": { "test": { "const": "inactivity_timer" } } }, "then": { "$ref": "./filters/inactivity_timer.json" } },
{ "if": { "properties": { "test": { "const": "is_altitude" } } }, "then": { "$ref": "./filters/is_altitude.json" } },
{ "if": { "properties": { "test": { "const": "is_avoiding_mobs" } } }, "then": { "$ref": "./filters/is_avoiding_mobs.json" } },
{ "if": { "properties": { "test": { "const": "is_biome" } } }, "then": { "$ref": "./filters/is_biome.json" } },
{ "if": { "properties": { "test": { "const": "is_block" } } }, "then": { "$ref": "./filters/is_block.json" } },
{ "if": { "properties": { "test": { "const": "is_brightness" } } }, "then": { "$ref": "./filters/is_brightness.json" } },
{ "if": { "properties": { "test": { "const": "is_climbing" } } }, "then": { "$ref": "./filters/is_climbing.json" } },
{ "if": { "properties": { "test": { "const": "is_color" } } }, "then": { "$ref": "./filters/is_color.json" } },
{ "if": { "properties": { "test": { "const": "is_daytime" } } }, "then": { "$ref": "./filters/is_daytime.json" } },
{ "if": { "properties": { "test": { "const": "is_difficulty" } } }, "then": { "$ref": "./filters/is_difficulty.json" } },
{ "if": { "properties": { "test": { "const": "is_family" } } }, "then": { "$ref": "./filters/is_family.json" } },
{ "if": { "properties": { "test": { "const": "is_game_rule" } } }, "then": { "$ref": "./filters/is_game_rule.json" } },
{ "if": { "properties": { "test": { "const": "is_humid" } } }, "then": { "$ref": "./filters/is_humid.json" } },
{ "if": { "properties": { "test": { "const": "is_immobile" } } }, "then": { "$ref": "./filters/is_immobile.json" } },
{ "if": { "properties": { "test": { "const": "is_in_village" } } }, "then": { "$ref": "./filters/is_in_village.json" } },
{ "if": { "properties": { "test": { "const": "is_leashed" } } }, "then": { "$ref": "./filters/is_leashed.json" } },
{ "if": { "properties": { "test": { "const": "is_leashed_to" } } }, "then": { "$ref": "./filters/is_leashed_to.json" } },
{ "if": { "properties": { "test": { "const": "is_mark_variant" } } }, "then": { "$ref": "./filters/is_mark_variant.json" } },
{ "if": { "properties": { "test": { "const": "is_moving" } } }, "then": { "$ref": "./filters/is_moving.json" } },
{ "if": { "properties": { "test": { "const": "is_owner" } } }, "then": { "$ref": "./filters/is_owner.json" } },
{ "if": { "properties": { "test": { "const": "is_persistent" } } }, "then": { "$ref": "./filters/is_persistent.json" } },
{ "if": { "properties": { "test": { "const": "is_riding" } } }, "then": { "$ref": "./filters/is_riding.json" } },
{ "if": { "properties": { "test": { "const": "is_skin_id" } } }, "then": { "$ref": "./filters/is_skin_id.json" } },
{ "if": { "properties": { "test": { "const": "is_sleeping" } } }, "then": { "$ref": "./filters/is_sleeping.json" } },
{ "if": { "properties": { "test": { "const": "is_sneaking" } } }, "then": { "$ref": "./filters/is_sneaking.json" } },
{ "if": { "properties": { "test": { "const": "is_snow_covered" } } }, "then": { "$ref": "./filters/is_snow_covered.json" } },
{ "if": { "properties": { "test": { "const": "is_target" } } }, "then": { "$ref": "./filters/is_target.json" } },
{ "if": { "properties": { "test": { "const": "is_temperature_type" } } }, "then": { "$ref": "./filters/is_temperature_type.json" } },
{ "if": { "properties": { "test": { "const": "is_temperature_value" } } }, "then": { "$ref": "./filters/is_temperature_value.json" } },
{ "if": { "properties": { "test": { "const": "is_underground" } } }, "then": { "$ref": "./filters/is_underground.json" } },
{ "if": { "properties": { "test": { "const": "is_underwater" } } }, "then": { "$ref": "./filters/is_underwater.json" } },
{ "if": { "properties": { "test": { "const": "is_variant" } } }, "then": { "$ref": "./filters/is_variant.json" } },
{ "if": { "properties": { "test": { "const": "is_visible" } } }, "then": { "$ref": "./filters/is_visible.json" } },
{ "if": { "properties": { "test": { "const": "light_level" } } }, "then": { "$ref": "./filters/light_level.json" } },
{ "if": { "properties": { "test": { "const": "moon_intensity" } } }, "then": { "$ref": "./filters/moon_intensity.json" } },
{ "if": { "properties": { "test": { "const": "moon_phase" } } }, "then": { "$ref": "./filters/moon_phase.json" } },
{ "if": { "properties": { "test": { "const": "on_ground" } } }, "then": { "$ref": "./filters/on_ground.json" } },
{ "if": { "properties": { "test": { "const": "on_ladder" } } }, "then": { "$ref": "./filters/on_ladder.json" } },
{ "if": { "properties": { "test": { "const": "random_chance" } } }, "then": { "$ref": "./filters/random_chance.json" } },
{ "if": { "properties": { "test": { "const": "rider_count" } } }, "then": { "$ref": "./filters/rider_count.json" } },
{ "if": { "properties": { "test": { "const": "surface_mob" } } }, "then": { "$ref": "./filters/surface_mob.json" } },
{ "if": { "properties": { "test": { "const": "trusts" } } }, "then": { "$ref": "./filters/trusts.json" } },
{ "if": { "properties": { "test": { "const": "weather" } } }, "then": { "$ref": "./filters/weather.json" } },
{ "if": { "properties": { "test": { "const": "weather_at_position" } } }, "then": { "$ref": "./filters/weather_at_position.json" } },
{ "not": { "properties": { "test": { "const": "is_weather" } }, "$comment": "DEPRECATED" } }
]
}
]
},
"groups_spec": {
"oneOf": [
{ "type": "array", "items": { "$ref": "#/definitions/groups_spec" } },
{ "type": "object", "$ref": "#/definitions/filters_spec" }
]
}
},
"$ref": "#/definitions/groups_spec"
}

View File

@@ -0,0 +1,27 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.clock_time",
"type": "object",
"title": "Filters Clock Time",
"description": "Compares the current 24 hour time with an int value in the range[0, 24000]",
"required": ["value"],
"properties": {
"test": {
"type": "string",
"title": "Test Property",
"description": "Compares the current 24 hour time with an int value in the range[0, 24000]"
},
"operator": {
"$ref": "./types/base_operator.json",
"description": "(Optional) The comparison to apply with 'value'.",
"default": "equals",
"title": "Operator"
},
"subject": {
"$ref": "./types/base_subject.json",
"description": "(Optional) The subject of this filter test.",
"default": "self",
"title": "Subject"
},
"value": { "type": "number", "minimum": 0, "maximum": 240000, "description": "(Required) An integer value.", "title": "Value" }
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.distance_to_nearest_player",
"type": "object",
"title": "Filters Distance To Nearest Player",
"description": "Compares the distance to the nearest Player with a float value.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Compares the distance to the nearest Player with a float value." },
"operator": { "$ref": "./types/base_operator.json", "description": "(Optional) The comparison to apply with 'value'.", "title": "Operator" },
"subject": { "$ref": "./types/base_subject.json", "description": "(Optional) The subject of this filter test.", "title": "Subject" },
"value": { "type": "number", "description": "(Required) A floating point value.", "title": "Value" }
}
}

View File

@@ -0,0 +1,18 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_ability",
"type": "object",
"title": "Filters Has Ability",
"description": "Returns true when the subject entity has the named ability.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity has the named ability." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"type": "string",
"description": "(Required) The Ability type to test",
"enum": ["flySpeed", "flying", "instabuild", "invulnerable", "lightning", "mayfly", "mute", "noclip", "walkSpeed", "worldbuilder"],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_biome_tag",
"type": "object",
"title": "Filters Has Biome Tag",
"description": "Tests whether the biome the subject is in has the specified tag.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Tests whether the biome the subject is in has the specified tag." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "(Required) The tag to look for", "type": "string", "title": "Value" }
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_component",
"type": "object",
"title": "Filters Has Component",
"description": "Returns true when the subject entity contains the named component.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity contains the named component." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "string", "description": "TODO description: value", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_container_open",
"type": "object",
"title": "Filters Has Container Open",
"description": "Returns true when the subject Player entity has opened a container.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_damage",
"type": "object",
"title": "Filters Has Damage",
"description": "Returns true when the subject entity receives the named damage type.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity receives the named damage type." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "string", "description": "The Damage type to test", "$ref": "../../../../general/entity/damage_source.json", "title": "Value" }
}
}

View File

@@ -0,0 +1,29 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_equipment",
"type": "object",
"title": "Filters Has Equipment",
"description": "Tests for the presence of a named item in the designated slot of the subject entity.",
"required": ["value"],
"properties": {
"test": {
"type": "string",
"const": "has_equipment",
"description": "Tests for the presence of a named item in the designated slot of the subject entity.",
"title": "Test"
},
"domain": {
"description": "The equipment location to test",
"default": "any",
"enum": ["any", "armor", "feet", "hand", "head", "leg", "torso"],
"title": "Domain"
},
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "The item name to look for",
"type": "string",
"$ref": "../../../../general/item/identifier.json",
"title": "TODO Title"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_mob_effect",
"type": "object",
"title": "Filters Has Mob Effect",
"description": "Tests whether the Subject has the specified mob effect.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Tests whether the Subject has the specified mob effect." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "string", "description": "TODO description: value", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_ranged_weapon",
"type": "object",
"title": "Filters Has Ranged Weapon",
"description": "Returns true when the subject entity is holding a ranged weapon like a bow or crossbow.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_tag",
"type": "object",
"title": "Filters Has Tag",
"description": "Returns true if the subject entity has the tag provided.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true if the subject entity has the tag provided." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "string", "description": "The tag as a string", "pattern": "[a-zA-Z0-9_]+", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_target",
"type": "object",
"title": "Filters Has Target",
"description": "Returns true if the subject entity has a valid target.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.has_trade_supply",
"type": "object",
"title": "Filters Has Trade Supply",
"description": "Tests whether the target has any trade supply left. Will return false if the target cannot be traded with.",
"properties": {
"test": {
"type": "string",
"title": "Test Property",
"description": "Tests whether the target has any trade supply left. Will return false if the target cannot be traded with."
},
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,18 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.hourly_clock_time",
"type": "object",
"title": "Filters Hourly Clock Time",
"description": "Compares the current 24 hour time with an int value in the range[0, 24000]",
"required": ["value"],
"properties": {
"test": {
"type": "string",
"title": "Test Property",
"description": "Compares the current 24 hour time with an int value in the range[0, 24000]",
"const": "hourly_clock_time"
},
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "integer", "description": "An integer value.", "minimum": 0, "maximum": 24000, "title": "Value" }
}
}

View File

@@ -0,0 +1,26 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_block",
"type": "object",
"title": "In block",
"description": "Returns true when the subject entity is inside a specified Block type.",
"properties": {
"test": {
"type": "string",
"title": "Test Property",
"description": "Returns true when the subject entity is inside a specified Block type."
},
"operator": {
"$ref": "./types/base_operator.json",
"description": "(Optional) The comparison to apply with 'value'.",
"default": "equals",
"title": "Operator"
},
"subject": {
"$ref": "./types/base_subject.json",
"description": "(Optional) The subject of this filter test.",
"default": "self",
"title": "Subject"
},
"value": { "type": "string", "description": "(Optional) A string value.", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_caravan",
"type": "object",
"title": "Filters In Caravan",
"description": "Returns true if the subject entity is in a caravan.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true if the subject entity is in a caravan." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_clouds",
"type": "object",
"title": "Filters In Clouds",
"description": "Returns true when the subject entity is in the clouds.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity is in the clouds." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,23 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_contact_with_water",
"type": "object",
"title": "In contact with water",
"description": "Returns true when the subject entity in contact with any water: water, rain, splash water bottle.",
"properties": {
"test": {
"type": "string",
"title": "Test Property",
"description": "Returns true when the subject entity in contact with any water: water, rain, splash water bottle."
},
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "(Optional) true or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_lava",
"type": "object",
"title": "Filters In Lava",
"description": "Returns true when the subject entity is in lava.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity is in lava." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_nether",
"type": "object",
"title": "Filters In Nether",
"description": "Returns true when the subject entity is in Nether.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_water",
"type": "object",
"title": "Filters In Water",
"description": "Returns true when the subject entity is in water.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity is in water." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.in_water_or_rain",
"type": "object",
"title": "Filters In Water Or Rain",
"description": "Returns true when the subject entity is in water or rain.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity is in water or rain." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.inactivity_timer",
"type": "object",
"title": "Filters Inactivity Timer",
"description": "Tests if the specified duration in seconds of inactivity for despawning has been reached.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "The Family name to look for", "type": "integer", "title": "Value" }
}
}

View File

@@ -0,0 +1,17 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_altitude",
"type": "object",
"title": "Filters Is Altitude",
"description": "Tests the current altitude against a provided value. 0= bedrock elevation.",
"required": ["value"],
"properties": {
"test": {
"type": "string",
"title": "Test Property",
"description": "Tests the current altitude against a provided value. 0= bedrock elevation."
},
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "integer", "description": "The altitude value to compare with", "minimum": 0, "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_avoiding_mobs",
"type": "object",
"title": "Filters Is Avoiding Mobs",
"description": "Returns true if the subject entity is fleeing from other mobs.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true if the subject entity is fleeing from other mobs." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,37 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_biome",
"type": "object",
"title": "Filters Is Biome",
"description": "Tests whether the Subject is currently in the named biome.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Tests whether the Subject is currently in the named biome." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "The Biome type to test",
"type": "string",
"enum": [
"beach",
"desert",
"extreme_hills",
"flat",
"forest",
"ice",
"jungle",
"mesa",
"mushroom_island",
"ocean",
"plain",
"river",
"savanna",
"stone_beach",
"swamp",
"taiga",
"the_end",
"the_nethe"
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_block",
"type": "object",
"title": "Filters Is Block",
"description": "Returns true when the block has the given name.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "The Family name to look for", "type": "string", "title": "Value" }
}
}

View File

@@ -0,0 +1,17 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_brightness",
"type": "object",
"title": "Filters Is Brightness",
"description": "Tests the current brightness against a provided value in the range (0.0f, 1.0f).",
"required": ["value"],
"properties": {
"test": {
"type": "string",
"title": "Test Property",
"description": "Tests the current brightness against a provided value in the range (0.0f, 1.0f)."
},
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "The brightness value to compare with.", "type": "number", "minimum": 0.0, "maximum": 1.0, "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_climbing",
"type": "object",
"title": "Filters Is Climbing",
"description": "Returns true if the subject entity is climbing.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true if the subject entity is climbing." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,35 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_color",
"type": "object",
"title": "Filters Is Color",
"description": "Returns true if the subject entity is the named color.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true if the subject entity is the named color." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "The Palette Color to test",
"type": "string",
"enum": [
"black",
"blue",
"brown",
"cyan",
"gray",
"green",
"light_blue",
"light_green",
"magenta",
"orange",
"pink",
"purple",
"red",
"silver",
"white",
"yello"
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_daytime",
"type": "object",
"title": "Filters Is Daytime",
"description": "Returns true during the daylight hours.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true during the daylight hours." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,18 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_difficulty",
"type": "object",
"title": "Filters Is Difficulty",
"description": "Tests the current difficulty level of the game.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Tests the current difficulty level of the game." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "The game's difficulty level to test",
"type": "string",
"enum": ["easy", "hard", "normal", "peaceful"],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_family",
"type": "object",
"title": "Filters Is Family",
"description": "Returns true when the subject entity is a member of the named family.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity is a member of the named family." },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "The Family name to look for", "type": "string", "title": "Value" }
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_game_rule",
"type": "object",
"title": "Filters Is Game Rule",
"description": "TODO description:",
"required": ["domain"],
"properties": {
"domain": { "description": "The Game Rule to test.", "title": "Domain" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "Tests whether a named game rule is active.", "default": true, "type": "boolean", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_humid",
"type": "object",
"title": "Filters Is Humid",
"description": "Tests whether the Subject is in an area with humidity",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "Tests whether the Subject is in an area with humidity" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_immobile",
"type": "object",
"title": "Filters Is Immobile",
"description": "Returns true if the subject entity is immobile. An entity is immobile if it lacks AI goals, has just changed dimensions or if it is a mob and has no health.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_in_village",
"type": "object",
"title": "Filters Is In Village",
"description": "Tests whether the Subject is inside the bounds of a village.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_leashed",
"type": "object",
"title": "Filters Is Leashed",
"description": "Returns true if the subject entity is leashed.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_leashed_to",
"type": "object",
"title": "Filters Is Leashed To",
"description": "Returns true if the subject entity leashed to the calling entity.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_mark_variant",
"type": "object",
"title": "Filters Is Mark Variant",
"description": "Returns true if the subject entity is the mark variant number provided.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "integer", "description": "The altitude value to compare with", "minimum": 0, "title": "Value" }
},
"additionalProperties": false
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_moving",
"type": "object",
"title": "Filters Is Moving",
"description": "Returns true if the subject entity is moving.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_owner",
"type": "object",
"title": "Filters Is Owner",
"description": "Returns true if the subject entity is the owner of the calling entity.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_persistent",
"type": "object",
"title": "Filters Is Persistent",
"description": "Tests if the subject's persistence matches the bool value passed in.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_riding",
"type": "object",
"title": "Filters Is Riding",
"description": "Returns true if the subject entity is riding on another entity.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,12 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_skin_id",
"type": "object",
"title": "Filters Is Skin Id",
"description": "Returns true if the subject entity is the skin id number provided.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "integer", "description": "The altitude value to compare with", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_sleeping",
"type": "object",
"title": "Filters Is Sleeping",
"description": "Tests whether the Subject is sleeping.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_sneaking",
"type": "object",
"title": "Filters Is Sneaking",
"description": "Returns true if the subject entity is sneaking.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_snow_covered",
"type": "object",
"title": "Filters Is Snow Covered",
"description": "Tests whether the Subject is in an area with snow cover",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_target",
"type": "object",
"title": "Filters Is Target",
"description": "Returns true if the subject entity is the target of the calling entity.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,18 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_target",
"type": "object",
"title": "Filters Is Target",
"description": "Tests whether the current temperature is a given type.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "The Biome temperature catagory to test",
"type": "string",
"enum": ["cold", "mild", "ocean", "warm"],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_temperature_value",
"type": "object",
"title": "Filters Is Temperature Value",
"description": "Tests the current temperature against a provided value in the range (0.0, 1.0) where 0.0f is the coldest temp and 1.0f is the hottest.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "The Biome temperature value to compare with.", "type": "number", "minimum": 0.0, "maximum": 1.0, "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_underground",
"type": "object",
"title": "Filters Is Underground",
"description": "Returns true when the subject entity is underground. An entity is considered underground if there are non-solid blocks above it.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_underwater",
"type": "object",
"title": "Filters Is Underwater",
"description": "Returns true when the subject entity is under water. An entity is considered underwater if it is completely submerged in water blocks.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_variant",
"type": "object",
"title": "Filters Is Variant",
"description": "Returns true if the subject entity is the variant number provided.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "integer", "description": "The altitude value to compare with", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.is_visible",
"type": "object",
"title": "Filters Is Visible",
"description": "Returns true if the subject entity is visible.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.light_level",
"type": "object",
"title": "Filters Light Level",
"description": "Tests is the mob is outside of the specified light level range (0, 16).",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "An integer value.", "type": "integer", "title": "Value", "minimum": 0, "maximum": 16 }
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.moon_intensity",
"type": "object",
"title": "Filters Moon Intensity",
"description": "Compares the current moon intensity with a float value in the range (0.0, 1.0)",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "A floating point value.", "type": "number", "minimum": 0, "maximum": 1, "title": "Value" }
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.moon_phase",
"type": "object",
"title": "Filters Moon Phase",
"description": "Compares the current moon phase with an integer value in the range (0, 7).",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "type": "integer", "description": "An integer value.", "minimum": 0, "maximum": 7, "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.on_ground",
"type": "object",
"title": "Filters On Ground",
"description": "Returns true when the subject entity is on ground.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.on_ladder",
"type": "object",
"title": "Filters On Ladder",
"description": "Returns true when the subject entity is on a ladder.",
"properties": {
"test": { "type": "string", "title": "Test Property", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"title": "Value",
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "default": "true", "enum": ["true", "false"] }
]
}
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.random_chance",
"type": "object",
"title": "Filters Random Chance",
"description": "Returns true if the random chance rolls 0 out of a specified max range.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "An integer value.", "type": "integer", "title": "Value" }
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.rider_count",
"type": "object",
"title": "Filters Rider Count",
"description": "Returns the number of riders on this entity.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "An integer value.", "type": "integer", "title": "Value" }
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.surface_mob",
"type": "object",
"title": "Filters Surface Mob",
"description": "Tests if the subject is a surface mob.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,19 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.trusts",
"type": "object",
"title": "Filters Trusts",
"description": "Returns true if the subject is trusted by entity.",
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": {
"description": "True or false.",
"oneOf": [
{ "type": "boolean", "default": true },
{ "type": "string", "enum": ["true", "false"] }
],
"title": "Value"
}
}
}

View File

@@ -0,0 +1,8 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.base_operator",
"title": "Filters Operator",
"type": "string",
"description": "The comparison to apply with 'value'.",
"default": "equals",
"enum": ["!=", "<", "<=", "<>", "=", "==", ">", ">=", "equals", "not"]
}

View File

@@ -0,0 +1,8 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.base_subject",
"title": "Filters Subject",
"type": "string",
"description": "The subject of this filter test.",
"default": "self",
"enum": ["block", "other", "parent", "player", "self", "target", "damager"]
}

View File

@@ -0,0 +1,58 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.base_test",
"title": "Filters Test",
"type": "string",
"description": "The test operation",
"enum": [
"clock_time",
"distance_to_nearest_player",
"has_ability",
"has_biome_tag",
"has_component",
"has_damage",
"has_equipment",
"has_mob_effect",
"has_tag",
"has_trade_supply",
"hourly_clock_time",
"in_block",
"in_caravan",
"in_clouds",
"in_lava",
"in_water",
"in_water_or_rain",
"in_contact_with_water",
"is_altitude",
"is_avoiding_mobs",
"is_biome",
"is_brightness",
"is_climbing",
"is_color",
"is_daytime",
"is_difficulty",
"is_family",
"is_game_rule",
"is_humid",
"is_immobile",
"is_in_village",
"is_leashed",
"is_mark_variant",
"is_moving",
"is_owner",
"is_riding",
"is_skin_id",
"is_sneaking",
"is_snow_covered",
"is_target",
"is_temperature_type",
"is_temperature_value",
"is_underground",
"is_underwater",
"is_variant",
"is_visible",
"moon_intensity",
"moon_phase",
"on_ground",
"on_ladder"
]
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.weather",
"type": "object",
"title": "Filters Weather",
"description": "Tests the current weather in the dimension against a provided weather value.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "The Family name to look for", "type": "string", "title": "Value" }
}
}

View File

@@ -0,0 +1,13 @@
{
"$id": "blockception.minecraft.behavior.entities.filters.weather_at_position",
"type": "object",
"title": "Filters Weather At Position",
"description": "Tests the current weather, at the actor's position, against a provided weather value.",
"required": ["value"],
"properties": {
"test": { "type": "string", "title": "Test", "description": "The test property" },
"operator": { "$ref": "./types/base_operator.json" },
"subject": { "$ref": "./types/base_subject.json" },
"value": { "description": "The Family name to look for", "type": "string", "title": "Value" }
}
}