{
  "$id": "blockception.minecraft.behavior.entities.minecraft.explode",
  "type": "object",
  "title": "Explode",
  "additionalProperties": false,
  "description": "Defines how the entity explodes.",
  "properties": {
    "allow_underwater": {
      "title": "Allow Underwater",
      "description": "If true, the explosion will affect blocks and entities under water.",
      "type": "boolean",
      "default": false
    },
    "breaks_blocks": {
      "type": "boolean",
      "default": true,
      "description": "If true, the explosion will destroy blocks in the explosion radius.",
      "title": "Breaks Blocks"
    },
    "causes_fire": {
      "type": "boolean",
      "default": false,
      "description": "If true, blocks in the explosion radius will be set on fire.",
      "title": "Causes Fire"
    },
    "damage_scaling": {
      "title": "Damage Scaling",
      "description": "A scale factor applied to the explosion's damage to entities. A value of 0 prevents the explosion from dealing any damage. Negative values cause the explosion to heal entities instead.",
      "type": "number",
      "default": 1.0
    },
    "destroy_affected_by_griefing": {
      "type": "boolean",
      "default": false,
      "description": "If true, whether the explosion breaks blocks is affected by the mob griefing game rule.",
      "title": "Destroy Affected By Griefing"
    },
    "fire_affected_by_griefing": {
      "type": "boolean",
      "default": false,
      "description": "If true, whether the explosion causes fire is affected by the mob griefing game rule.",
      "title": "Fire Affected By Griefing"
    },
    "fuse_length": {
      "default": [0.0, 0.0],
      "description": "The range for the random amount of time the fuse will be lit before exploding, a negative value means the explosion will be immediate.",
      "title": "Fuse Length",
      "oneOf": [
        {
          "type": "array",
          "items": [
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ]
        },
        {
          "type": "number"
        }
      ]
    },
    "fuse_lit": {
      "type": "boolean",
      "default": false,
      "description": "If true, the fuse is already lit when this component is added to the entity.",
      "title": "Fuse Lit"
    },
    "knockback_scaling": {
      "title": "Knockback Scaling",
      "description": "A scale factor applied to the knockback force caused by the explosion.",
      "type": "number",
      "default": 1.0
    },
    "max_resistance": {
      "type": "number",
      "description": "A blocks explosion resistance will be capped at this value when an explosion occurs.",
      "title": "Maximum Resistance"
    },
    "negates_fall_damage": {
      "title": "Negates Fall Damage",
      "description": "Defines whether the explosion should apply fall damage negation to Players above the point of collision.",
      "type": "boolean", 
      "default": false
    },
    "particle_effect": {
      "title": "Particle Effect",
      "description": "The name of the particle effect to use.",
      "enum": ["explosion", "wind_burst", "breeze_wind_burst"],
      "default": "explosion"
    },
    "power": {
      "type": "number",
      "default": 3,
      "description": "The radius of the explosion in blocks and the amount of damage the explosion deals.",
      "title": "Power"
    },
    "sound_effect": {
      "title": "Sound Effect",
      "description": "The name of the sound effect played when the explosion triggers.",
      "type": "string",
      "default": "explode"
    },
    "toggles_blocks": {
      "title": "Toggles Blocks",
      "description": "If true, the explosion will toggle blocks in the explosion radius.",
      "type": "boolean", 
      "default": false
    }
  },
  "examples": [
    {
      "breaks_blocks": true,
      "causes_fire": false,
      "destroy_affected_by_griefing": false,
      "fire_affected_by_griefing": false,
      "fuse_lit": false,
      "max_resistance": 0.0,
      "power": 3
    }
  ]
}
