{
  "$id": "blockception.minecraft.behavior.entities.1.16.0.minecraft.interact",
  "type": "object",
  "title": "Interact 1.16.0",
  "description": "Allows the entity to be a thrown entity.",
  "additionalProperties": false,
  "properties": {
    "anchor": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Anchor" },
    "angle_offset": {
      "type": "number",
      "default": 0,
      "description": "Determines the angle at which the projectile is thrown",
      "title": "Angle Offset"
    },
    "catch_fire": { "type": "boolean", "default": false, "description": "If true, the entity hit will be set on fire", "title": "Catch Fire" },
    "crit_particle_on_hurt": {
      "type": "boolean",
      "default": false,
      "description": "If true, the projectile will produce additional particles when a critical hit happens",
      "title": "Crit Particle On Hurt"
    },
    "destroy_on_hurt": {
      "type": "boolean",
      "default": false,
      "description": "If true, this entity will be destroyed when hit",
      "title": "Destroy On Hurt"
    },
    "filter": {
      "type": "string",
      "default": "",
      "description": "Entity Definitions defined here can't be hurt by the projectile",
      "title": "Filter"
    },
    "fire_affected_by_griefing": {
      "type": "boolean",
      "default": false,
      "description": "If true, whether the projectile causes fire is affected by the mob griefing game rule",
      "title": "Fire Affected By Griefing"
    },
    "gravity": {
      "type": "number",
      "default": 0.05,
      "description": "The gravity applied to this entity when thrown. The higher the value, the faster the entity falls",
      "title": "Gravity"
    },
    "hit_sound": { "type": "string", "default": "", "description": "The sound that plays when the projectile hits something", "title": "Hit Sound" },
    "homing": { "type": "boolean", "default": false, "description": "If true, the projectile homes in to the nearest entity", "title": "Homing" },
    "inertia": {
      "type": "number",
      "default": 0.99,
      "description": "The fraction of the projectile's speed maintained every frame while traveling in air",
      "title": "Inertia"
    },
    "is_dangerous": {
      "type": "boolean",
      "default": false,
      "description": "If true, the projectile will be treated as dangerous to the players",
      "title": "Is Dangerous"
    },
    "knockback": {
      "type": "boolean",
      "default": true,
      "description": "If true, the projectile will knock back the entity it hits",
      "title": "Knockback"
    },
    "lightning": { "type": "boolean", "default": false, "description": "If true, the entity hit will be struck by lightning", "title": "Lightning" },
    "liquid_inertia": {
      "type": "number",
      "default": 0.6,
      "description": "The fraction of the projectile's speed maintained every frame while traveling in water",
      "title": "Liquid Inertia"
    },
    "multiple_targets": {
      "type": "boolean",
      "default": true,
      "description": "If true, the projectile can hit multiple entities per flight",
      "title": "Multiple Targets"
    },
    "offset": {
      "type": "array",
      "default": [0, 0.5, 0],
      "description": "The offset from the entity's anchor where the projectile will spawn",
      "title": "Offset",
      "items": [
        { "type": "number", "description": "X", "title": "X" },
        { "type": "number", "description": "Y", "title": "Y" },
        { "type": "number", "description": "Z", "title": "Z" }
      ]
    },
    "on_fire_time": {
      "type": "number",
      "default": 5,
      "description": "Time in seconds that the entity hit will be on fire for",
      "title": "On Fire Time"
    },
    "on_hit": {
      "additionalProperties": false,
      "type": "object",
      "description": "UNDOCUMENTED",
      "$comment": "UNDOCUMENTED",
      "title": "On Hit",
      "properties": {
        "catch_fire": {
          "additionalProperties": false,
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Catch Fire",
          "type": "object",
          "properties": {
            "fire_affected_by_griefing": {
              "type": "boolean",
              "description": "UNDOCUMENTED",
              "$comment": "UNDOCUMENTED",
              "title": "Fire Affected By Griefing"
            }
          }
        },
        "definition_event": {
          "additionalProperties": false,
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Event",
          "type": "object",
          "properties": {
            "affect_projectile": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Affect Projectile" },
            "event_trigger": { "$ref": "../types/event.json" }
          }
        },
        "douse_fire": { "type": "object", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Douse Fire" },
        "impact_damage": {
          "additionalProperties": false,
          "type": "object",
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Impact Damage",
          "properties": {
            "filter": { "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Filter" },
            "catch_fire": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Catch Fire" },
            "damage": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Damage" },
            "destroy_on_hit": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Destroy On Hit" },
            "knockback": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Knockback" },
            "semi_random_diff_damage": {
              "type": "boolean",
              "description": "UNDOCUMENTED",
              "$comment": "UNDOCUMENTED",
              "title": "Semi Random Diff Damage"
            }
          }
        },
        "particle_on_hit": {
          "additionalProperties": false,
          "type": "object",
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Particle On Hit",
          "properties": {
            "particle_type": { "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Particle Type" },
            "num_particles": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Num Particles" },
            "on_entity_hit": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "On Entity Hit" },
            "on_other_hit": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "On Other Hit" }
          }
        },
        "remove_on_hit": {
          "additionalProperties": false,
          "type": "object",
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Remove On Hit"
        },
        "spawn_chance": {
          "additionalProperties": false,
          "type": "object",
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Spawn Chance",
          "properties": {
            "first_spawn_percent_chance": {
              "type": "number",
              "description": "UNDOCUMENTED",
              "$comment": "UNDOCUMENTED",
              "title": "First Spawn Percent Chance"
            },
            "first_spawn_chance": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "First Spawn Chance" },
            "second_spawn_chance": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Second Spawn Chance" },
            "first_spawn_count": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "First Spawn Count" },
            "second_spawn_count": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Second Spawn Count" },
            "spawn_definition": { "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Spawn Definition" },
            "spawn_baby": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Spawn Baby" }
          }
        },
        "spawn_aoe_cloud": {
          "additionalProperties": false,
          "type": "object",
          "properties": {
            "radius": { "type": "number", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Radius" },
            "radius_on_use": { "type": "number", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Radius On Use" },
            "potion": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Potion" },
            "particle": { "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Particle" },
            "duration": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Duration" },
            "color": {
              "description": "UNDOCUMENTED",
              "$comment": "UNDOCUMENTED",
              "title": "Color",
              "type": "array",
              "format": "color-array",
              "items": [
                { "type": "integer", "minimum": 0, "maximum": 255, "description": "R", "title": "R" },
                { "type": "integer", "minimum": 0, "maximum": 255, "description": "G", "title": "G" },
                { "type": "integer", "minimum": 0, "maximum": 255, "description": "B", "title": "B" }
              ]
            },
            "affect_owner": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Affect Owner" },
            "reapplication_delay": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Reapplication Delay" }
          }
        },
        "stick_in_ground": {
          "additionalProperties": false,
          "type": "object",
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Stick In Ground"
        },
        "teleport_owner": {
          "additionalProperties": false,
          "type": "object",
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "title": "Teleport Owner"
        }
      }
    },
    "particle": { "type": "string", "default": "iconcrack", "description": "Particle to use upon collision", "title": "Particle" },
    "potion_effect": {
      "type": "integer",
      "default": -1,
      "description": "Defines the effect the arrow will apply to the entity it hits",
      "title": "Potion Effect"
    },
    "power": { "type": "number", "default": 1.3, "description": "Determines the velocity of the projectile", "title": "Power" },
    "reflect_on_hurt": {
      "type": "boolean",
      "default": false,
      "description": "If true, this entity will be reflected back when hit",
      "title": "Reflect On Hurt"
    },
    "semi_random_diff_damage": {
      "type": "boolean",
      "default": false,
      "description": "If true, damage will be randomized based on damage and speed",
      "title": "Semi Random Diff Damage"
    },
    "shoot_sound": { "type": "string", "default": "", "description": "The sound that plays when the projectile is shot", "title": "Shoot Sound" },
    "shoot_target": {
      "type": "boolean",
      "default": true,
      "description": "If true, the projectile will be shot towards the target of the entity firing it",
      "title": "Shoot Target"
    },
    "should_bounce": { "type": "boolean", "default": false, "description": "If true, the projectile will bounce upon hit", "title": "Should Bounce" },
    "splash_potion": {
      "type": "boolean",
      "default": false,
      "description": "If true, the projectile will be treated like a splash potion",
      "title": "Splash Potion"
    },
    "splash_range": { "type": "number", "default": 4, "description": "Radius in blocks of the `splash` effect", "title": "Splash Range" },
    "uncertainty_base": {
      "type": "number",
      "default": 0,
      "description": "The base accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier",
      "title": "Uncertainty Base"
    },
    "uncertainty_multiplier": {
      "type": "number",
      "default": 0,
      "description": "Determines how much difficulty affects accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier",
      "title": "Uncertainty Multiplier"
    }
  }
}
