Dataconfig

For enchants that you want to mirror vanilla perfectly in vanilla_enchants.yml

There are some Caveats to using this config, Applicable Enchants setting on mythic mobs, Will NOT work. Otherwise this is a 1:1 faithful recreation.

#Any time there is a minecraft version change you will likely need to update this config yourself before swapping versions. The new information will be posted on this page, but this is raw datapack values and will change as minecraft updates properties and whatnot.


# ── CURSE ENCHANTMENTS ────────────────────────────────────────────────────────

minecraft:binding_curse:
  Override: true
  Display: '&cCurse of Binding'
  Description: 'Item cannot be removed from armor slot.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [HEAD, CHEST, LEGS, FEET]
  SupportedItems: '#minecraft:enchantable/equippable'
  AnvilCost: 8
  Options:
    Enabled: true
    Cursed: true
    Treasure: true
    RandomLoot: true
    Tradeable: true
    TradedEquipment: false
    MobSpawnEquipment: false
    TooltipOrder: 1
  Enchanting:
    Weight: 1
    MinCost: 25
    MaxCost: 50
    BookOffer: false
  EnchantData:
    prevent_armor_change: true

minecraft:vanishing_curse:
  Override: true
  Display: '&cCurse of Vanishing'
  Description: 'Item disappears on death.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [ANY]
  SupportedItems: '#minecraft:enchantable/vanishing'
  AnvilCost: 8
  Options:
    Enabled: true
    Cursed: true
    Treasure: true
    RandomLoot: true
    Tradeable: true
    TradedEquipment: false
    MobSpawnEquipment: false
    TooltipOrder: 2
  Enchanting:
    Weight: 1
    MinCost: 25
    MaxCost: 50
    BookOffer: false
  EnchantData:
    prevent_equipment_drop: true

# ── TRIDENT ENCHANTMENTS ─────────────────────────────────────────────────────

minecraft:riptide:
  Override: true
  Display: '&7Riptide'
  Description: 'Propels the player when thrown in water or rain.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/trident'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:loyalty
    - minecraft:channeling
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 3
  Enchanting:
    Weight: 2
    MinCost:
      Base: 17
      PerLevel: 7
    MaxCost: 50
    BookOffer: true
  EnchantData:
    trident_spin_attack_strength:
      value:
        type: linear
        base: 1.5
        perLevel: 0.75
    trident_sound:
      - minecraft:item.trident.riptide_1
      - minecraft:item.trident.riptide_2
      - minecraft:item.trident.riptide_3

minecraft:channeling:
  Override: true
  Display: '&7Channeling'
  Description: 'Summons lightning on hit during thunderstorms.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/trident'
  AnvilCost: 8
  ConflictingEnchants:
    - minecraft:riptide
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 4
  Enchanting:
    Weight: 1
    MinCost: 25
    MaxCost: 50
    BookOffer: true
  EnchantData:
    # Fires when the thrown trident hits a lightning rod during a thunderstorm.
    hit_block:
      effect:
        type: all_of
        effects:
          - type: summon_entity
            entity: minecraft:lightning_bolt
          - type: play_sound
            sound: minecraft:item.trident.thunder
            volume: 5.0
            pitch: 1.0
      requirements:
        condition: minecraft:all_of
        terms:
          - condition: minecraft:weather_check
            thundering: true
          - condition: minecraft:entity_properties
            entity: this
            predicate:
              minecraft:entity_type: minecraft:trident
          - condition: minecraft:location_check
            predicate:
              block:
                blocks: '#minecraft:lightning_rods'
              can_see_sky: true
    # Fires when the trident hits an entity directly during a thunderstorm and the wielder can see sky.
    post_attack:
      enchanted: attacker
      affected: victim
      effect:
        type: all_of
        effects:
          - type: summon_entity
            entity: minecraft:lightning_bolt
          - type: play_sound
            sound: minecraft:item.trident.thunder
            volume: 5.0
            pitch: 1.0
      requirements:
        condition: minecraft:all_of
        terms:
          - condition: minecraft:weather_check
            thundering: true
          - condition: minecraft:entity_properties
            entity: this
            predicate:
              minecraft:location:
                can_see_sky: true
          - condition: minecraft:entity_properties
            entity: direct_attacker
            predicate:
              minecraft:entity_type: minecraft:trident

# ── MACE ENCHANTMENTS ─────────────────────────────────────────────────────────

minecraft:wind_burst:
  Override: true
  Display: '&7Wind Burst'
  Description: 'Emits a burst of wind on smash attacks.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/mace'
  AnvilCost: 8
  Options:
    Enabled: true
    Cursed: false
    Treasure: true
    RandomLoot: false
    Tradeable: false
    TradedEquipment: false
    MobSpawnEquipment: false
    TooltipOrder: 5
  Enchanting:
    Weight: 1
    MinCost:
      Base: 15
      PerLevel: 9
    MaxCost: 65
    BookOffer: true
  EnchantData:
    post_attack:
      enchanted: attacker
      affected: attacker
      effect:
        type: explode
        block_interaction: trigger
        immune_blocks: '#minecraft:blocks_wind_charge_explosions'
        radius: 3.5
        sound: minecraft:entity.wind_charge.wind_burst
        large_particle:
          type: minecraft:gust_emitter_large
        small_particle:
          type: minecraft:gust_emitter_small
        knockback_multiplier:
          type: lookup
          values: [1.2, 1.75, 2.2]
          fallback:
            type: linear
            base: 1.5
            perLevel: 0.35
      requirements:
        condition: minecraft:entity_properties
        entity: direct_attacker
        predicate:
          minecraft:flags:
            is_flying: false
          minecraft:movement:
            fall_distance:
              min: 1.5

# ── TREASURE / RARE ENCHANTMENTS ─────────────────────────────────────────────

minecraft:frost_walker:
  Override: true
  Display: '&7Frost Walker'
  Description: 'Turns water to ice beneath your feet.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 2
  ValidSlots: [FEET]
  SupportedItems: '#minecraft:enchantable/foot_armor'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:depth_strider
  Options:
    Enabled: true
    Cursed: false
    Treasure: true
    RandomLoot: true
    Tradeable: false
    TradedEquipment: false
    MobSpawnEquipment: false
    TooltipOrder: 6
  Enchanting:
    Weight: 2
    MinCost:
      Base: 10
      PerLevel: 10
    MaxCost: 40
    BookOffer: true
  EnchantData:
    damage_immunity:
      requirements:
        condition: minecraft:damage_source_properties
        predicate:
          tags:
            - id: 'minecraft:burn_from_stepping'
              expected: true
            - id: 'minecraft:bypasses_invulnerability'
              expected: false
    location_changed:
      effect:
        type: replace_disk
        block_state:
          type: minecraft:simple_state_provider
          state:
            Name: minecraft:frosted_ice
            Properties:
              age: '0'
        offset: [0, -1, 0]
        height: 1.0
        radius:
          type: clamped
          min: 0.0
          max: 16.0
          value:
            type: linear
            base: 3.0
            perLevel: 1.0
        trigger_game_event: minecraft:block_place
        predicate:
          type: minecraft:all_of
          predicates:
            - type: minecraft:matching_block_tag
              offset: [0, 1, 0]
              tag: minecraft:air
            - type: minecraft:matching_blocks
              blocks: minecraft:water
            - type: minecraft:matching_fluids
              fluids: minecraft:water
            - type: minecraft:unobstructed
      requirements:
        condition: minecraft:all_of
        terms:
          - condition: minecraft:entity_properties
            entity: this
            predicate:
              minecraft:flags:
                is_on_ground: true
          - condition: minecraft:inverted
            term:
              condition: minecraft:entity_properties
              entity: this
              predicate:
                minecraft:vehicle: {}

# ── SWORD ENCHANTMENTS ────────────────────────────────────────────────────────

minecraft:sharpness:
  Override: true
  Display: '&7Sharpness'
  Description: 'Increases melee damage.'
  Rarity: COMMON
  MinLevel: 1
  MaxLevel: 5
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/sharp_weapon'
  PrimaryItems: '#minecraft:enchantable/melee_weapon'
  AnvilCost: 1
  ConflictingEnchants:
    - minecraft:smite
    - minecraft:bane_of_arthropods
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 8
  Enchanting:
    Weight: 10
    MinCost:
      Base: 1
      PerLevel: 11
    MaxCost:
      Base: 21
      PerLevel: 11
    BookOffer: true
  EnchantData:
    damage:
      value:
        type: linear
        base: 1.0
        perLevel: 0.5

minecraft:smite:
  Override: true
  Display: '&7Smite'
  Description: 'Increases damage against undead mobs.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 5
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/weapon'
  PrimaryItems: '#minecraft:enchantable/melee_weapon'
  AnvilCost: 2
  ConflictingEnchants:
    - minecraft:sharpness
    - minecraft:bane_of_arthropods
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 9
  Enchanting:
    Weight: 5
    MinCost:
      Base: 5
      PerLevel: 8
    MaxCost:
      Base: 25
      PerLevel: 8
    BookOffer: true
  EnchantData:
    damage:
      value:
        type: linear
        base: 2.5
        perLevel: 2.5
      requirements:
        condition: minecraft:entity_properties
        entity: this
        predicate:
          minecraft:entity_type: '#minecraft:undead'

minecraft:bane_of_arthropods:
  Override: true
  Display: '&7Bane of Arthropods'
  Description: 'Increases damage and applies Slowness to arthropods.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 5
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/weapon'
  PrimaryItems: '#minecraft:enchantable/melee_weapon'
  AnvilCost: 2
  ConflictingEnchants:
    - minecraft:sharpness
    - minecraft:smite
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 10
  Enchanting:
    Weight: 5
    MinCost:
      Base: 5
      PerLevel: 8
    MaxCost:
      Base: 25
      PerLevel: 8
    BookOffer: true
  EnchantData:
    damage:
      value:
        type: linear
        base: 2.5
        perLevel: 2.5
      requirements:
        condition: minecraft:entity_properties
        entity: this
        predicate:
          minecraft:entity_type: '#minecraft:sensitive_to_bane_of_arthropods'
    post_attack:
      enchanted: attacker
      affected: victim
      effect:
        type: apply_mob_effect
        to_apply: minecraft:slowness
        min_duration: 1.5
        max_duration:
          type: linear
          base: 1.5
          perLevel: 0.5
        min_amplifier: 3.0
        max_amplifier: 3.0
      requirements:
        condition: minecraft:all_of
        terms:
          - condition: minecraft:entity_properties
            entity: this
            predicate:
              minecraft:entity_type: '#minecraft:sensitive_to_bane_of_arthropods'
          - condition: minecraft:damage_source_properties
            predicate:
              is_direct: true

# ── TRIDENT ENCHANTMENTS (continued) ─────────────────────────────────────────

minecraft:impaling:
  Override: true
  Display: '&7Impaling'
  Description: 'Increases trident damage against aquatic mobs.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 5
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/trident'
  AnvilCost: 2
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 11
  Enchanting:
    Weight: 2
    MinCost:
      Base: 1
      PerLevel: 8
    MaxCost:
      Base: 21
      PerLevel: 8
    BookOffer: true
  EnchantData:
    damage:
      value:
        type: linear
        base: 2.5
        perLevel: 2.5
      requirements:
        condition: minecraft:entity_properties
        entity: this
        predicate:
          minecraft:entity_type: '#minecraft:sensitive_to_impaling'

# ── BOW ENCHANTMENTS ──────────────────────────────────────────────────────────

minecraft:power:
  Override: true
  Display: '&7Power'
  Description: 'Increases arrow damage.'
  Rarity: COMMON
  MinLevel: 1
  MaxLevel: 5
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/bow'
  AnvilCost: 1
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 12
  Enchanting:
    Weight: 10
    MinCost:
      Base: 1
      PerLevel: 10
    MaxCost:
      Base: 16
      PerLevel: 10
    BookOffer: true
  EnchantData:
    damage:
      value:
        type: linear
        base: 1.0
        perLevel: 0.5
      requirements:
        condition: minecraft:entity_properties
        entity: direct_attacker
        predicate:
          minecraft:entity_type: '#minecraft:arrows'

# ── MACE ENCHANTMENTS (continued) ────────────────────────────────────────────

minecraft:density:
  Override: true
  Display: '&7Density'
  Description: 'Increases mace damage based on fall height.'
  Rarity: COMMON
  MinLevel: 1
  MaxLevel: 5
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/mace'
  AnvilCost: 1
  ConflictingEnchants:
    - minecraft:breach
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 13
  Enchanting:
    Weight: 10
    MinCost:
      Base: 1
      PerLevel: 8
    MaxCost:
      Base: 24
      PerLevel: 8
    BookOffer: true
  EnchantData:
    smash_damage_per_fallen_block:
      value:
        type: linear
        base: 0.5
        perLevel: 0.5

minecraft:breach:
  Override: true
  Display: '&7Breach'
  Description: 'Reduces the effectiveness of armor on targets.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 4
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/mace'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:density
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 14
  Enchanting:
    Weight: 2
    MinCost:
      Base: 15
      PerLevel: 9
    MaxCost:
      Base: 65
      PerLevel: 9
    BookOffer: true
  EnchantData:
    armor_effectiveness:
      value:
        type: linear
        base: -0.15
        perLevel: -0.15

# ── CROSSBOW ENCHANTMENTS ─────────────────────────────────────────────────────

minecraft:piercing:
  Override: true
  Display: '&7Piercing'
  Description: 'Arrows pass through multiple entities.'
  Rarity: COMMON
  MinLevel: 1
  MaxLevel: 4
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/crossbow'
  AnvilCost: 1
  ConflictingEnchants:
    - minecraft:multishot
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 15
  Enchanting:
    Weight: 10
    MinCost:
      Base: 1
      PerLevel: 10
    MaxCost: 50
    BookOffer: true
  EnchantData:
    projectile_piercing:
      value:
        type: linear
        base: 1.0
        perLevel: 1.0

# ── SWORD ENCHANTMENTS (continued) ───────────────────────────────────────────

minecraft:sweeping_edge:
  Override: true
  Display: '&7Sweeping Edge'
  Description: 'Increases sweep attack damage.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/sweeping'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 16
  Enchanting:
    Weight: 2
    MinCost:
      Base: 5
      PerLevel: 9
    MaxCost:
      Base: 20
      PerLevel: 9
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: sweeping_damage_ratio
        operation: add
        value:
          type: fraction
          numerator:
            type: linear
            base: 1.0
            perLevel: 1.0
          denominator:
            type: linear
            base: 2.0
            perLevel: 1.0

# ── CROSSBOW ENCHANTMENTS (continued) ────────────────────────────────────────

minecraft:multishot:
  Override: true
  Display: '&7Multishot'
  Description: 'Fires three arrows at once.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/crossbow'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:piercing
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 17
  Enchanting:
    Weight: 2
    MinCost: 20
    MaxCost: 50
    BookOffer: true
  EnchantData:
    projectile_count:
      value:
        type: linear
        base: 2.0
        perLevel: 2.0
    projectile_spread:
      value:
        type: linear
        base: 10.0
        perLevel: 10.0

# ── SWORD ENCHANTMENTS (continued) ───────────────────────────────────────────

minecraft:fire_aspect:
  Override: true
  Display: '&7Fire Aspect'
  Description: 'Sets targets on fire when hit.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 2
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/fire_aspect'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 18
  Enchanting:
    Weight: 2
    MinCost:
      Base: 10
      PerLevel: 20
    MaxCost: 61
    BookOffer: true
  EnchantData:
    post_attack:
      enchanted: attacker
      affected: victim
      effect:
        type: ignite
        duration:
          type: linear
          base: 4.0
          perLevel: 4.0
      requirements:
        condition: minecraft:damage_source_properties
        predicate:
          is_direct: true

# ── BOW ENCHANTMENTS (continued) ─────────────────────────────────────────────

minecraft:flame:
  Override: true
  Display: '&7Flame'
  Description: 'Arrows set targets on fire.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/bow'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 19
  Enchanting:
    Weight: 2
    MinCost: 20
    MaxCost: 50
    BookOffer: true
  EnchantData:
    projectile_spawned:
      effect:
        type: ignite
        duration: 100.0

# ── SWORD ENCHANTMENTS (continued) ───────────────────────────────────────────

minecraft:knockback:
  Override: true
  Display: '&7Knockback'
  Description: 'Knocks back targets on hit.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 2
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/melee_weapon'
  AnvilCost: 2
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 20
  Enchanting:
    Weight: 5
    MinCost:
      Base: 5
      PerLevel: 20
    MaxCost: 61
    BookOffer: true
  EnchantData:
    knockback:
      value:
        type: linear
        base: 1.0
        perLevel: 1.0

# ── BOW ENCHANTMENTS (continued) ─────────────────────────────────────────────

minecraft:punch:
  Override: true
  Display: '&7Punch'
  Description: 'Increases arrow knockback.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 2
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/bow'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 21
  Enchanting:
    Weight: 2
    MinCost:
      Base: 12
      PerLevel: 20
    MaxCost: 61
    BookOffer: true
  EnchantData:
    knockback:
      value:
        type: linear
        base: 1.0
        perLevel: 1.0
      requirements:
        condition: minecraft:entity_properties
        entity: direct_attacker
        predicate:
          minecraft:entity_type: '#minecraft:arrows'

# ── ARMOR ENCHANTMENTS ────────────────────────────────────────────────────────

minecraft:protection:
  Override: true
  Display: '&7Protection'
  Description: 'Reduces most types of damage.'
  Rarity: COMMON
  MinLevel: 1
  MaxLevel: 4
  ValidSlots: [HEAD, CHEST, LEGS, FEET]
  SupportedItems: '#minecraft:enchantable/armor'
  AnvilCost: 1
  ConflictingEnchants:
    - minecraft:fire_protection
    - minecraft:blast_protection
    - minecraft:projectile_protection
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 22
  Enchanting:
    Weight: 10
    MinCost:
      Base: 1
      PerLevel: 11
    MaxCost:
      Base: 21
      PerLevel: 11
    BookOffer: true
  EnchantData:
    damage_protection:
      value:
        type: linear
        base: 1.0
        perLevel: 1.0
      requirements:
        condition: minecraft:damage_source_properties
        predicate:
          tags:
            - id: 'minecraft:bypasses_invulnerability'
              expected: false

minecraft:blast_protection:
  Override: true
  Display: '&7Blast Protection'
  Description: 'Reduces explosion damage and knockback.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 4
  ValidSlots: [HEAD, CHEST, LEGS, FEET]
  SupportedItems: '#minecraft:enchantable/armor'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:protection
    - minecraft:fire_protection
    - minecraft:projectile_protection
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 23
  Enchanting:
    Weight: 2
    MinCost:
      Base: 5
      PerLevel: 8
    MaxCost:
      Base: 17
      PerLevel: 8
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: explosion_knockback_resistance
        operation: add
        value:
          type: linear
          base: 0.15
          perLevel: 0.15
    damage_protection:
      value:
        type: linear
        base: 2.0
        perLevel: 2.0
      requirements:
        condition: minecraft:damage_source_properties
        predicate:
          tags:
            - id: 'minecraft:is_explosion'
              expected: true
            - id: 'minecraft:bypasses_invulnerability'
              expected: false

minecraft:fire_protection:
  Override: true
  Display: '&7Fire Protection'
  Description: 'Reduces fire damage and burn time.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 4
  ValidSlots: [HEAD, CHEST, LEGS, FEET]
  SupportedItems: '#minecraft:enchantable/armor'
  AnvilCost: 2
  ConflictingEnchants:
    - minecraft:protection
    - minecraft:blast_protection
    - minecraft:projectile_protection
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 24
  Enchanting:
    Weight: 5
    MinCost:
      Base: 10
      PerLevel: 8
    MaxCost:
      Base: 22
      PerLevel: 8
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: burning_time
        operation: add_multiplied_base
        value:
          type: linear
          base: -0.15
          perLevel: -0.15
    damage_protection:
      value:
        type: linear
        base: 2.0
        perLevel: 2.0
      requirements:
        condition: minecraft:damage_source_properties
        predicate:
          tags:
            - id: 'minecraft:is_fire'
              expected: true
            - id: 'minecraft:bypasses_invulnerability'
              expected: false

minecraft:projectile_protection:
  Override: true
  Display: '&7Projectile Protection'
  Description: 'Reduces projectile damage.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 4
  ValidSlots: [HEAD, CHEST, LEGS, FEET]
  SupportedItems: '#minecraft:enchantable/armor'
  AnvilCost: 2
  ConflictingEnchants:
    - minecraft:protection
    - minecraft:fire_protection
    - minecraft:blast_protection
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 25
  Enchanting:
    Weight: 5
    MinCost:
      Base: 3
      PerLevel: 6
    MaxCost:
      Base: 18
      PerLevel: 6
    BookOffer: true
  EnchantData:
    damage_protection:
      value:
        type: linear
        base: 2.0
        perLevel: 2.0
      requirements:
        condition: minecraft:damage_source_properties
        predicate:
          tags:
            - id: 'minecraft:is_projectile'
              expected: true
            - id: 'minecraft:bypasses_invulnerability'
              expected: false

minecraft:feather_falling:
  Override: true
  Display: '&7Feather Falling'
  Description: 'Reduces fall damage.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 4
  ValidSlots: [FEET]
  SupportedItems: '#minecraft:enchantable/foot_armor'
  AnvilCost: 2
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 26
  Enchanting:
    Weight: 5
    MinCost:
      Base: 5
      PerLevel: 6
    MaxCost:
      Base: 20
      PerLevel: 6
    BookOffer: true
  EnchantData:
    damage_protection:
      value:
        type: linear
        base: 3.0
        perLevel: 3.0
      requirements:
        condition: minecraft:damage_source_properties
        predicate:
          tags:
            - id: 'minecraft:is_fall'
              expected: true
            - id: 'minecraft:bypasses_invulnerability'
              expected: false

# ── TOOL ENCHANTMENTS ─────────────────────────────────────────────────────────

minecraft:fortune:
  Override: true
  Display: '&7Fortune'
  Description: 'Increases block drops.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/mining_loot'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:silk_touch
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 27
  Enchanting:
    Weight: 2
    MinCost:
      Base: 15
      PerLevel: 9
    MaxCost: 61
    BookOffer: true

# ── SWORD ENCHANTMENTS (continued) ───────────────────────────────────────────

minecraft:looting:
  Override: true
  Display: '&7Looting'
  Description: 'Increases mob loot drops.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/melee_weapon'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 28
  Enchanting:
    Weight: 2
    MinCost:
      Base: 15
      PerLevel: 9
    MaxCost: 61
    BookOffer: true
  # equipment_drops (+1% mob equipment-drop chance per level, player-only) is
  # Looting's only DIRECT enchantment-side effect in vanilla — expressed below.
  # The "extra loot table rolls" everyone associates with Looting are baked
  # into vanilla mob loot tables (enchanted_count_increase /
  # random_chance_with_enchanted_bonus, e.g. zombie.json), which already
  # reference minecraft:looting BY ID — Override: true keeps that ID, so those
  # loot tables keep granting the roll bonus unmodified. No datapack or
  # Skills: needed for vanilla mobs.
  EnchantData:
    equipment_drops:
      value:
        type: linear
        base: 0.01
        perLevel: 0.01
      enchanted: attacker
      requirements:
        condition: minecraft:entity_properties
        entity: attacker
        predicate:
          minecraft:entity_type: minecraft:player

# ── TOOL ENCHANTMENTS (continued) ────────────────────────────────────────────

minecraft:silk_touch:
  Override: true
  Display: '&7Silk Touch'
  Description: 'Mined blocks drop themselves.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/mining_loot'
  AnvilCost: 8
  ConflictingEnchants:
    - minecraft:fortune
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 29
  Enchanting:
    Weight: 1
    MinCost: 15
    MaxCost: 61
    BookOffer: true
  # block_experience (suppressing block XP orbs) is Silk Touch's only DIRECT
  # enchantment component in vanilla — expressed below. "Blocks drop
  # themselves" is a loot-table special case: vanilla ore loot tables branch
  # on the can_silk_touch predicate, which checks for minecraft:silk_touch BY
  # ID (see e.g. diamond_ore.json). Override: true keeps that ID, so those
  # loot tables keep working unmodified. No datapack or Skills: needed for
  # vanilla blocks.
  EnchantData:
    block_experience:
      mode: set
      value:
        type: constant
        value: 0.0

# ── FISHING ROD ENCHANTMENTS ─────────────────────────────────────────────────

minecraft:luck_of_the_sea:
  Override: true
  Display: '&7Luck of the Sea'
  Description: 'Increases fishing treasure luck.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/fishing'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 30
  Enchanting:
    Weight: 2
    MinCost:
      Base: 15
      PerLevel: 9
    MaxCost: 61
    BookOffer: true
  EnchantData:
    fishing_luck_bonus:
      value:
        type: linear
        base: 1.0
        perLevel: 1.0

# ── TOOL ENCHANTMENTS (continued) ────────────────────────────────────────────

minecraft:efficiency:
  Override: true
  Display: '&7Efficiency'
  Description: 'Increases mining speed.'
  Rarity: COMMON
  MinLevel: 1
  MaxLevel: 5
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/mining'
  AnvilCost: 1
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 31
  Enchanting:
    Weight: 10
    MinCost:
      Base: 1
      PerLevel: 10
    MaxCost: 61
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: mining_efficiency
        operation: add
        value:
          type: levels_squared
          added: 1.0

# ── CROSSBOW ENCHANTMENTS (continued) ────────────────────────────────────────

minecraft:quick_charge:
  Override: true
  Display: '&7Quick Charge'
  Description: 'Decreases crossbow charging time.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/crossbow'
  AnvilCost: 2
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 32
  Enchanting:
    Weight: 5
    MinCost:
      Base: 12
      PerLevel: 20
    MaxCost: 61
    BookOffer: true
  EnchantData:
    crossbow_charge_time:
      value:
        type: linear
        base: -0.25
        perLevel: -0.25
    crossbow_charging_sounds:
      - start: minecraft:item.crossbow.quick_charge_1
        end: minecraft:item.crossbow.loading_end
      - start: minecraft:item.crossbow.quick_charge_2
        end: minecraft:item.crossbow.loading_end
      - start: minecraft:item.crossbow.quick_charge_3
        end: minecraft:item.crossbow.loading_end

# ── FISHING ROD ENCHANTMENTS (continued) ─────────────────────────────────────

minecraft:lure:
  Override: true
  Display: '&7Lure'
  Description: 'Decreases time to catch fish.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/fishing'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 33
  Enchanting:
    Weight: 2
    MinCost:
      Base: 15
      PerLevel: 9
    MaxCost: 61
    BookOffer: true
  EnchantData:
    fishing_time_reduction:
      value:
        type: linear
        base: 5.0
        perLevel: 5.0

# ── ARMOR ENCHANTMENTS (continued) ───────────────────────────────────────────

minecraft:respiration:
  Override: true
  Display: '&7Respiration'
  Description: 'Extends underwater breathing time.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [HEAD]
  SupportedItems: '#minecraft:enchantable/head_armor'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 34
  Enchanting:
    Weight: 2
    MinCost:
      Base: 10
      PerLevel: 10
    MaxCost: 40
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: oxygen_bonus
        operation: add
        value:
          type: linear
          base: 1.0
          perLevel: 1.0

minecraft:aqua_affinity:
  Override: true
  Display: '&7Aqua Affinity'
  Description: 'Increases underwater mining speed.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [HEAD]
  SupportedItems: '#minecraft:enchantable/head_armor'
  AnvilCost: 4
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 35
  Enchanting:
    Weight: 2
    MinCost: 1
    MaxCost: 41
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: submerged_mining_speed
        operation: add_multiplied_total
        value:
          type: constant
          value: 4.0

# ── TREASURE / RARE ENCHANTMENTS (continued) ─────────────────────────────────

minecraft:soul_speed:
  Override: true
  Display: '&7Soul Speed'
  Description: 'Increases speed on soul sand and soil.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [FEET]
  SupportedItems: '#minecraft:enchantable/foot_armor'
  AnvilCost: 8
  Options:
    Enabled: true
    Cursed: false
    Treasure: true
    RandomLoot: false
    Tradeable: false
    TradedEquipment: false
    MobSpawnEquipment: false
    TooltipOrder: 36
  Enchanting:
    Weight: 1
    MinCost:
      Base: 10
      PerLevel: 10
    MaxCost: 40
    BookOffer: true
  EnchantData:
    # Movement-speed boost + item-damage cost while walking on soul blocks.
    # Nested inline `attribute` entity effects (not the top-level attributes:
    # component) because vanilla only applies them while location_changed
    # actually fires — matches vanilla's exact structure.
    location_changed:
      entries:
        - effect:
            type: all_of
            effects:
              - type: attribute
                attribute: movement_speed
                operation: add
                amount:
                  type: linear
                  base: 0.0405
                  perLevel: 0.0105
              - type: attribute
                attribute: movement_efficiency
                operation: add
                amount: 1.0
          requirements:
            condition: minecraft:all_of
            terms:
              - condition: minecraft:inverted
                term:
                  condition: minecraft:entity_properties
                  entity: this
                  predicate:
                    minecraft:vehicle: {}
              - condition: minecraft:any_of
                terms:
                  - condition: minecraft:all_of
                    terms:
                      - condition: minecraft:enchantment_active_check
                        active: true
                      - condition: minecraft:entity_properties
                        entity: this
                        predicate:
                          minecraft:flags:
                            is_flying: false
                      - condition: minecraft:any_of
                        terms:
                          - condition: minecraft:entity_properties
                            entity: this
                            predicate:
                              minecraft:movement_affected_by:
                                block:
                                  blocks: '#minecraft:soul_speed_blocks'
                          - condition: minecraft:entity_properties
                            entity: this
                            predicate:
                              minecraft:flags:
                                is_on_ground: false
                  - condition: minecraft:all_of
                    terms:
                      - condition: minecraft:enchantment_active_check
                        active: false
                      - condition: minecraft:entity_properties
                        entity: this
                        predicate:
                          minecraft:flags:
                            is_flying: false
                          minecraft:movement_affected_by:
                            block:
                              blocks: '#minecraft:soul_speed_blocks'
        - effect:
            type: change_item_damage
            amount: 1.0
          requirements:
            condition: minecraft:all_of
            terms:
              - condition: minecraft:random_chance
                chance:
                  type: minecraft:enchantment_level
                  amount: 0.04
              - condition: minecraft:entity_properties
                entity: this
                predicate:
                  minecraft:flags:
                    is_on_ground: true
                  minecraft:movement_affected_by:
                    block:
                      blocks: '#minecraft:soul_speed_blocks'
    # Ambient soul particles + escape sound while walking on soul blocks.
    tick:
      entries:
        - effect:
            type: spawn_particles
            particle:
              type: minecraft:soul
            vertical_position:
              type: entity_position
              offset: 0.1
            vertical_velocity:
              base: 0.1
            horizontal_position:
              type: in_bounding_box
            horizontal_velocity:
              movement_scale: -0.2
            speed: 1.0
          requirements:
            condition: minecraft:entity_properties
            entity: this
            predicate:
              minecraft:flags:
                is_flying: false
                is_on_ground: true
              minecraft:movement:
                horizontal_speed:
                  min: 0.00001
              minecraft:movement_affected_by:
                block:
                  blocks: '#minecraft:soul_speed_blocks'
              minecraft:periodic_tick: 5
        - effect:
            type: play_sound
            sound: minecraft:particle.soul_escape
            volume: 0.6
            pitch:
              type: minecraft:uniform
              min_inclusive: 0.6
              max_exclusive: 1.0
          requirements:
            condition: minecraft:all_of
            terms:
              - condition: minecraft:random_chance
                chance: 0.35
              - condition: minecraft:entity_properties
                entity: this
                predicate:
                  minecraft:flags:
                    is_flying: false
                    is_on_ground: true
                  minecraft:movement:
                    horizontal_speed:
                      min: 0.00001
                  minecraft:movement_affected_by:
                    block:
                      blocks: '#minecraft:soul_speed_blocks'
                  minecraft:periodic_tick: 5

minecraft:swift_sneak:
  Override: true
  Display: '&7Swift Sneak'
  Description: 'Increases sneaking speed.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [LEGS]
  SupportedItems: '#minecraft:enchantable/leg_armor'
  AnvilCost: 8
  Options:
    Enabled: true
    Cursed: false
    Treasure: true
    RandomLoot: false
    Tradeable: false
    TradedEquipment: false
    MobSpawnEquipment: false
    TooltipOrder: 37
  Enchanting:
    Weight: 1
    MinCost:
      Base: 25
      PerLevel: 25
    MaxCost: 75
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: sneaking_speed
        operation: add
        value:
          type: linear
          base: 0.15
          perLevel: 0.15

minecraft:depth_strider:
  Override: true
  Display: '&7Depth Strider'
  Description: 'Increases underwater movement speed.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [FEET]
  SupportedItems: '#minecraft:enchantable/foot_armor'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:frost_walker
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 38
  Enchanting:
    Weight: 2
    MinCost:
      Base: 10
      PerLevel: 10
    MaxCost: 40
    BookOffer: true
  EnchantData:
    attributes:
      - attribute: water_movement_efficiency
        operation: add
        value:
          type: linear
          base: 0.33333334
          perLevel: 0.33333334

minecraft:thorns:
  Override: true
  Display: '&7Thorns'
  Description: 'Damages attackers when hit.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [HEAD, CHEST, LEGS, FEET]
  SupportedItems: '#minecraft:enchantable/armor'
  AnvilCost: 8
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 39
  Enchanting:
    Weight: 1
    MinCost:
      Base: 10
      PerLevel: 20
    MaxCost: 61
    BookOffer: true
  EnchantData:
    post_attack:
      enchanted: victim
      affected: attacker
      effect:
        type: all_of
        effects:
          - type: damage_entity
            damage_type: minecraft:thorns
            min_damage: 1.0
            max_damage: 5.0
          - type: change_item_damage
            amount: 2.0
      requirements:
        condition: minecraft:random_chance
        chance:
          type: minecraft:enchantment_level
          amount:
            type: minecraft:linear
            base: 0.15
            per_level_above_first: 0.15

# ── TRIDENT ENCHANTMENTS (continued) ─────────────────────────────────────────

minecraft:loyalty:
  Override: true
  Display: '&7Loyalty'
  Description: 'Trident returns after being thrown.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/trident'
  AnvilCost: 2
  ConflictingEnchants:
    - minecraft:riptide
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 40
  Enchanting:
    Weight: 5
    MinCost:
      Base: 12
      PerLevel: 7
    MaxCost: 50
    BookOffer: true
  EnchantData:
    trident_return_acceleration:
      value:
        type: linear
        base: 1.0
        perLevel: 1.0

# ── UNIVERSAL ENCHANTMENTS ────────────────────────────────────────────────────

minecraft:unbreaking:
  Override: true
  Display: '&7Unbreaking'
  Description: 'Increases item durability.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [ANY]
  SupportedItems: '#minecraft:enchantable/durability'
  AnvilCost: 2
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 41
  Enchanting:
    Weight: 5
    MinCost:
      Base: 5
      PerLevel: 8
    MaxCost: 61
    BookOffer: true
  EnchantData:
    item_damage:
      entries:
        # Armor: chance to negate damage = 2*level / (10 + 5*(level-1))  (vanilla's armor curve)
        - mode: remove_binomial
          value:
            type: fraction
            numerator:
              type: linear
              base: 2.0
              perLevel: 2.0
            denominator:
              type: linear
              base: 10.0
              perLevel: 5.0
          requirements:
            condition: minecraft:match_tool
            predicate:
              items: '#minecraft:enchantable/armor'
        # Everything else: chance to negate damage = level / (2 + (level-1))
        - mode: remove_binomial
          value:
            type: fraction
            numerator:
              type: linear
              base: 1.0
              perLevel: 1.0
            denominator:
              type: linear
              base: 2.0
              perLevel: 1.0
          requirements:
            condition: minecraft:inverted
            term:
              condition: minecraft:match_tool
              predicate:
                items: '#minecraft:enchantable/armor'

# ── BOW ENCHANTMENTS (continued) ─────────────────────────────────────────────

minecraft:infinity:
  Override: true
  Display: '&7Infinity'
  Description: 'Shooting costs no arrows.'
  Rarity: VERY_RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/bow'
  AnvilCost: 8
  ConflictingEnchants:
    - minecraft:mending
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: true
    TooltipOrder: 42
  Enchanting:
    Weight: 1
    MinCost: 20
    MaxCost: 50
    BookOffer: true
  EnchantData:
    ammo_use:
      mode: set
      value:
        type: constant
        value: 0.0
      requirements:
        condition: minecraft:match_tool
        predicate:
          items: minecraft:arrow

# ── UNIVERSAL ENCHANTMENTS (continued) ───────────────────────────────────────

minecraft:mending:
  Override: true
  Display: '&7Mending'
  Description: 'Repairs item durability using XP.'
  Rarity: RARE
  MinLevel: 1
  MaxLevel: 1
  ValidSlots: [ANY]
  SupportedItems: '#minecraft:enchantable/durability'
  AnvilCost: 4
  ConflictingEnchants:
    - minecraft:infinity
  Options:
    Enabled: true
    Cursed: false
    Treasure: true
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: false
    TooltipOrder: 43
  Enchanting:
    Weight: 2
    MinCost: 25
    MaxCost: 75
    BookOffer: true
  # repair_with_xp (2x XP-to-durability conversion rate) is read generically
  # by vanilla's own XP-orb-pickup handling for ANY enchantment carrying this
  # component — the same generic mechanism vanilla uses for every other
  # component (damage, damage_protection, etc). No plugin code or Skills:
  # needed; the repair happens automatically once this is in the datapack.
  EnchantData:
    repair_with_xp:
      mode: multiply
      value:
        type: constant
        value: 2.0

# ── SPEAR ENCHANTMENTS ────────────────────────────────────────────────────────


minecraft:lunge:
  Override: true
  Display: '&6Lunge'
  Description: 'Propels you forward on a piercing spear attack.'
  Rarity: UNCOMMON
  MinLevel: 1
  MaxLevel: 3
  ValidSlots: [MAINHAND]
  SupportedItems: '#minecraft:enchantable/lunge'
  AnvilCost: 2
  Options:
    Enabled: true
    Cursed: false
    Treasure: false
    RandomLoot: true
    Tradeable: true
    TradedEquipment: true
    MobSpawnEquipment: false
    TooltipOrder: 44
  Enchanting:
    Weight: 5
    MinCost:
      Base: 5
      PerLevel: 8
    MaxCost:
      Base: 25
      PerLevel: 8
    BookOffer: true
  EnchantData:
    post_piercing_attack:
      effect:
        type: all_of
        effects:
          - type: change_item_damage
            amount: 1.0
          - type: apply_exhaustion
            amount:
              type: linear
              base: 4.0
              perLevel: 4.0
          - type: apply_impulse
            direction: [0.0, 0.0, 1.0]
            coordinate_scale: [1.0, 0.0, 1.0]
            magnitude:
              type: linear
              base: 0.458
              perLevel: 0.458
          - type: play_sound
            sound:
              - minecraft:item.spear.lunge_1
              - minecraft:item.spear.lunge_2
              - minecraft:item.spear.lunge_3
            volume: 1.0
            pitch: 1.0
      requirements:
        condition: minecraft:all_of
        terms:
          - condition: minecraft:inverted
            term:
              condition: minecraft:entity_properties
              entity: this
              predicate:
                minecraft:vehicle: {}
          - condition: minecraft:entity_properties
            entity: this
            predicate:
              minecraft:flags:
                is_fall_flying: false
          - condition: minecraft:entity_properties
            entity: this
            predicate:
              minecraft:flags:
                is_in_water: false
          - condition: minecraft:any_of
            terms:
              - condition: minecraft:inverted
                term:
                  condition: minecraft:entity_properties
                  entity: this
                  predicate:
                    minecraft:type_specific/player: {}
              - condition: minecraft:entity_properties
                entity: this
                predicate:
                  minecraft:type_specific/player:
                    gamemode: [creative]
              - condition: minecraft:entity_properties
                entity: this
                predicate:
                  minecraft:type_specific/player:
                    food:
                      level:
                        min: 7
Updated Aug 19, 2026