{
  "$id": "blockception.minecraft.behavior.entities.events1.13.0",
  "type": "object",
  "title": "Events 1.13.0",
  "description": "Events for entities 1.13.0",
  "definitions": {
    "addremove": {
      "additionalProperties": false,
      "title": "Add Or Remove",
      "description": "The components groups to add or remove",
      "type": "object",
      "properties": {
        "component_groups": {
          "title": "Component Groups",
          "description": "The components groups to add or remove",
          "type": "array",
          "items": { "type": "string", "description": "A reference to a component group", "title": "Component Groups" }
        }
      }
    },
    "event_base": {
      "additionalProperties": false,
      "type": "object",
      "filters": { "$ref": "./../filters/filters.json" },
      "trigger": { "type": "string", "description": "Triggers additional events", "$comment": "UNDOCUMENTED", "title": "Trigger" },
      "properties": {
        "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered", "title": "Add" },
        "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered", "title": "Remove" },
        "randomize": {
          "type": "array",
          "description": "Randomly selects one of the following items based upon their weight and the total weights",
          "title": "Randomize",
          "items": {
            "required": ["weight"],
            "description": "Randomly selects one of the following items based upon their weight and the total weights",
            "title": "Randomize",
            "properties": {
              "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered", "title": "Add" },
              "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered", "title": "Remove" },
              "trigger": { "type": "string", "description": "Triggers additional events", "$comment": "UNDOCUMENTED", "title": "Trigger" },
              "weight": {
                "type": "number",
                "description": "The weight on how likely this section is to trigger",
                "$comment": "UNDOCUMENTED",
                "title": "Weight"
              }
            }
          }
        },
        "sequence": {
          "type": "array",
          "description": "A series of filters and components to be added",
          "title": "Sequences",
          "items": {
            "description": "Filters and components to be added",
            "title": "Sequence",
            "type": "object",
            "properties": {
              "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered", "title": "Add" },
              "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered", "title": "Remove" },
              "trigger": { "type": "string", "description": "Triggers additional events", "$comment": "UNDOCUMENTED", "title": "Trigger" },
              "filters": { "$ref": "./../filters/filters.json" }
            }
          }
        }
      }
    }
  },
  "properties": {
    "minecraft:entity_transformed": {
      "description": "Event called on an entity that transforms into another entity.",
      "$ref": "#/definitions/event_base",
      "title": "Entity Transformed"
    },
    "minecraft:entity_born": {
      "description": "Event called on an entity that is spawned through two entities breeding.",
      "$ref": "#/definitions/event_base",
      "title": "Entity Born"
    },
    "minecraft:entity_spawned": {
      "description": "Event called on an entity that is placed in the level.",
      "$ref": "#/definitions/event_base",
      "title": "Entity Spawned"
    },
    "minecraft:on_prime": {
      "description": "Event called on an entity whose fuse is lit and is ready to explode.",
      "$ref": "#/definitions/event_base",
      "title": "On Prime"
    }
  },
  "additionalProperties": { "$ref": "#/definitions/event_base" }
}
