======================== Custom Mob Targets ========================
IMPORTANT: Files starting with __ (double underscore) are IGNORED!
__examples.json is just an EXAMPLE and will NOT BE ACTIVE.
Add your own config in targets.json to get started!

Each JSON file can be either:
- A single object: { "entity": "mod:entity", ... }
- An array of objects: [ { ... }, { ... } ]

=== Entity Matching ===
The "entity" field (both source and target) supports 4 formats:

1. Exact ID:   "minecraft:zombie"
   Matches one specific entity type.

2. Tag:        "#minecraft:raiders"
   Matches all entity types in the tag. Prefix with #.
   See "Available Tags" below.

3. Regex:      "~minecraft:.*zombie.*"
   Matches entity IDs against a regex pattern. Prefix with ~.
   The pattern is matched against the full ID (e.g. "minecraft:zombie").

4. Array:      ["minecraft:zombie", "#minecraft:skeletons", "~modid:.*"]
   Matches if ANY element matches. Elements can use any format above.

=== Available Vanilla Entity Type Tags (1.20.1) ===
#minecraft:raiders           - pillager, vindicator, evoker, ravager, witch, illusioner
#minecraft:skeletons         - skeleton, stray, wither_skeleton
#minecraft:beehive_inhabitors - bee
#minecraft:arrows            - arrow, spectral_arrow
#minecraft:impact_projectiles - arrow, spectral_arrow, fireball, etc.
#minecraft:powder_snow_walkable_mobs - rabbit, endermite, fox, etc.
#minecraft:freeze_immune_entity_types - stray, polar_bear, snow_golem, wither
#minecraft:freeze_hurts_extra_types   - strider, blaze, magma_cube

Mods can add their own entity type tags. Use /cmt reload after changes.
You can also create custom tags via datapacks.

=== Entity Config Fields ===
"entity"   (required)  - The entity to modify (supports all 4 matching formats)
"active"   (optional)  - true/false, enables or disables this entry (default: true)
"targets"  (required)  - Array of target objects (see below)

=== Attack Options ===
Non-aggressive mobs (sheep, cows, etc.) can't attack by default.
Use "melee" and/or "ranged" to give them the ability to attack.
Already-aggressive mobs (zombies, skeletons, etc.) don't need these.

"melee": {
  "enabled": true,       - Gives the mob a melee attack
  "damage": 3.0          - Damage per hit (default: 3.0)
}

"ranged": {
  "enabled": true,       - Gives the mob a ranged attack
  "damage": 2.0,         - Projectile damage (default: 2.0, applies to arrow types)
  "projectile": "arrow"  - Projectile type (default: "arrow", see list below)
}

=== Available Projectiles ===
"arrow"           - Standard arrow (default, damage configurable)
"spectral_arrow"  - Arrow that applies Glowing effect (damage configurable)
"small_fireball"  - Blaze-style fireball (sets target on fire)
"large_fireball"  - Ghast-style fireball (creates explosion, damage = explosion power)
"snowball"        - Snowball (knockback only, 3 damage to Blazes)
"egg"             - Thrown egg (knockback, may spawn chicken)
"wither_skull"    - Wither skull (applies Wither effect)
"dragon_fireball" - Dragon fireball (creates area effect cloud)
"shulker_bullet"  - Homing shulker bullet (applies Levitation effect)
"llama_spit"      - Llama spit projectile

Note: The "damage" field only directly affects arrow and spectral_arrow.
Other projectiles use their vanilla damage/effects.
For large_fireball, the "damage" value is used as the explosion power (min 1).

=== Target Fields ===
"entity"      (required)  - The target entity (supports all 4 matching formats)
"priority"    (optional)  - AI task priority, lower = higher priority (default: 2)
"check_sight" (optional)  - Only target if visible (default: true)

Use "_comment" fields anywhere in the JSON for notes (they are ignored).

Use the "/cmt reload" command to reload configs without restarting.

See __examples.json for example configs you can copy into targets.json.

Updated by MM/GA for contact .8212, credit to Zeitheron for the original mod.
====================================================================