Enchant Evolution

Quick rating

Community listing page, reviews may not be monitored by the author.

Enchant Evolution

No reviews yet

This mod adds one more layer on top of "maxed": take a maxed-out vanilla enchantment to the Divine Altar and permanently evolve it into one of three mutually exclusive branches, each with 3 levels.

Mod Loaders
Minecraft

About

Description

1. What it is

In vanilla, an enchantment is finished the moment it hits max level. This mod adds one more layer on top of "maxed": take a maxed-out vanilla enchantment to the Divine Altar and permanently evolve it into one of three mutually exclusive branches, each with 3 levels.

  • 26 vanilla enchantments covered → 78 branches → 234 unlockable levels.
  • Evolution does not touch the vanilla maxLevel and adds no new enchantments — the only gate is "is this enchantment at max level".
  • The evolution record lives on the item's own NBT, so it travels with the item: tradeable, storable, droppable.
  • The choice is irreversible. The only way back is a respec at a smithing table (Curse-Cleansing Stone).

Core rules

Rule Detail
Prerequisite The item (not an enchanted book) must carry at least one maxed enchantment that has a registered evolution path
One of three Only one branch per enchantment; a wrong pick needs a respec
Levels Each branch goes 1 → 3, unlocked step by step
Cost Enchant Essence 8 / 16 / 32 (configurable via essenceCosts)
Session Right-clicking the altar opens a session; walking more than 8 blocks away, destroying the altar, or logging out ends it — right-click again
Feedback The tooltip shows Evolution · <enchantment>: <branch> <level>; a maxed enchantment with no branch yet shows a grey "evolve it at a Divine Altar"; branches that spend charges also show how many are left
Server-authoritative The client only sends an intent packet ("I want branch X"); EvolutionService re-validates max level, session, branch lock and essence count on the server before writing anything and charging the cost

2. Recipes

2.1 New items and blocks

Item / Block Detail
Divine Altar divine_altar The evolution screen itself. Light level 7, hardness 4 / blast resistance 8, needs a pickaxe (added to mineable/pickaxe). Right-click to open the evolution screen
Enchant Essence enchant_essence The only currency for evolving (fire-resistant, produced by burning enchanted books). Sources: burning enchanted books (1–3 each), 1% drop from ordinary mob kills, guaranteed 3–6 from bosses, 10% from structure chests (1–3)
Curse-Cleansing Stone divine_respec_stone The smithing-table respec material. Rare rarity, stacks to 16

2.2 Recipe table

Recipe Content
Divine Altar (shaped) O=obsidian, A=amethyst shard, T=enchanting table, shape OAO / ATA / OAO (obsidian ×6 + amethyst shard ×4 + enchanting table ×1)
Stone duplication (shapeless) Curse-Cleansing Stone + Enchant Essence ×8 → Curse-Cleansing Stone ×2
Respec (smithing table) Template slot = the stone, base slot = the evolved item, addition slot must be empty → the same item with its entire evolution record wiped (requires respec.allowRespec=true)

3. Branch details

Every number below comes from the implementation, not from the language files. The Mechanic column says when and through which hook a branch actually fires.

3.1 Paths at a glance

# Vanilla enchantment (path id) Branch 1 Branch 2 Branch 3
1 Channeling channeling Thunder Might Divine Judgment Thunder Pool
2 Loyalty loyalty Telekinesis Soul Link Boomerang
3 Sharpness sharpness Razor Edge Execution Bloodletting
4 Power power Mighty Divine Power Marrow Piercer
5 Protection protection Hymn of Vitality Dauntless Tenacity
6 Fire Aspect fire_aspect Flame Scorch Flame Lord
7 Unbreaking unbreaking Eternal Repayment Affection
8 Thorns thorns Blood Siphon Painful Lament Self-Preservation
9 Feather Falling fall_protection Barren Descent Mountaineer Hover
10 Silk Touch silk_touch Perfect Preservation Sincerity Block Duplication
11 Efficiency efficiency Metal Breaker Chain Reaction Rapid Breach
12 Fire Protection fire_protection Phoenix Rebirth Guardian Flame Blazing Sprint
13 Smite smite Holy Verdict Purifying Light Second Dawn
14 Bane of Arthropods bane_of_arthropods Anatomist Specialist Hunter Ascendance
15 Looting looting XP Plunder Demon Dancer Life Extraction
16 Fortune fortune Abundance Treasure Hunter Gear of Fate
17 Punch punch Heavy Hammer Shockwave Shattering Impact
18 Quick Charge quick_charge Drill Repeater Tactical Reload
19 Respiration respiration In One's Element Effortless Drift Tidal Ward
20 Riptide riptide Death Thrust Overdrive Merciful Rain
21 Frost Walker frost_walker Frost Prison Ice Glide Stone Cold
22 Knockback knockback Heavy Strike Concussive Blow Relentless Pursuit
23 Sweeping Edge sweeping Sprinting Sweep Spinning Sweep Quick Sweep
24 Impaling impaling Rain Song Laceration Maelstrom
25 Mending mending Blessing Practice Makes Perfect Silent Companion
26 Aqua Affinity aqua_affinity Deep Drill Wave Guard Erosion

3.2 Branch-by-branch

3.2.1 Channeling

Shared prerequisite: thunderstorms only (level.isThundering()), and only when the trident is really thrown — never on a melee swing.

Branch Lv1 Lv2 Lv3 Mechanic
Thunder Might thunder_power radius 3 / 2 s 5 / 4 s 7 / 6 s On hitting an entity, shocks nearby enemies (40 × level ticks): they cannot move or attack. Electric-spark particles
Divine Judgment divine_judgment blast power 1 2 3 Detonates on hitting an entity or a block, but once per projectile for its whole life (entity NBT ee_evo_judgment). When no entity was hit, lightning still falls at the landing spot (needs open sky). Self-damage and terrain damage are both configurable
Thunder Pool thunder_pool 8 damage + 3 bolts 16 + 6 24 + 9 The pool strikes the impact for lightning damage (radius 2.5) and sets it alight for 4 s; extra bolts ring the spot where the sky is open

3.2.2 Loyalty

Branch Lv1 Lv2 Lv3 Mechanic
Telekinesis telekinesis pickup radius 5 8 11 On the way home the weapon pulls nearby drops along with it and deposits them into the thrower's inventory on arrival (within 2.5 blocks); within 1.5 blocks they orbit the weapon instead. A non-player owner keeps them orbiting forever
Soul Link soul_link homing radius 10 15 20 The outbound flight ignores blocks (noPhysics phase-through) and homes in on the nearest enemy in radius; turn rate capped at 30°/tick; past soulLinkMaxDistance (default 32) or after connecting, it flies back to your hand. Inside correctionRange it drops the forward cone and turns straight at the target (a second chance after overshooting). Runs on both sides (the client carries a synced level byte, SoulLinkSync)
Boomerang boomerang return damage 50% 75% 100% Only on the trip home, hits every living thing it passes (AABB inflated by 0.8); each entity is damaged once per return leg

3.2.3 Sharpness

All three fire on a melee hit with the main-hand item.

Branch Lv1 Lv2 Lv3 Mechanic
Razor Edge razor_edge melee damage +50% +100% +150% Scales the damage directly
Execution execution 10% 20% 30% Independent roll per hit; on success deals (current health + absorption) × 100 + 100, punching through armour and resistance
Bloodletting bloodletting Bleeding I (1/s) II (2/s) III (3/s) Applies Bleeding for 100 ticks; magic damage every 20 ticks, ignoring armour

3.2.4 Power

Branch Lv1 Lv2 Lv3 Mechanic
Mighty mighty full draw in 14 ticks (0.7 s) 8 ticks (0.4 s) 2 ticks (0.1 s) Scales the charge on ArrowLooseEvent, so a partial draw is compressed by the same ratio
Divine Power divine_power launch speed +50% +100% +150% Scales the velocity vector at spawn (vanilla ballistics and spread preserved); damage follows from speed
Marrow Piercer marrow_piercer Bleeding I II III On an arrow hit, applies Bleeding for 100 ticks (replaces rather than stacks)

3.2.5 Protection

All three are worn effects: the strongest of the four armour pieces wins, they never stack.

Branch Lv1 Lv2 Lv3 Mechanic
Hymn of Vitality vitality_hymn max health +10 +20 +30 A transient modifier with a fixed UUID on MAX_HEALTH; recomputed on equipment change, login, respawn and dimension change (removed first, then re-added, so it can never accumulate)
Dauntless dauntless damage taken -10% -20% -30% Scales incoming damage (cap 80%)
Tenacity tenacity knockback -25% -50% -75% Scales knockback strength; never reaches zero

3.2.6 Fire Aspect

Branch Lv1 Lv2 Lv3 Mechanic
Flame flame +2 vs burning targets +4 +6 Flat bonus when the target is already on fire
Scorch scorch burns 6 s 12 s 18 s Lengthens the burn
Flame Lord flame_lord ignite radius 3 4.5 6 Every melee hit sets nearby enemies alight for 6 s. No damage, no cooldown

3.2.7 Unbreaking

Branch Lv1 Lv2 Lv3 Mechanic
Eternal eternal 84% no durability loss 93% 100% On success the whole hurtAndBreak call is cancelled
Repayment repayment 32 essence on breaking 48 64 Fires before the stack is shrunk, so the NBT is still readable; overflow drops on the ground
Affection affection 0.5 health per durability point 1.0 1.5 Does not cancel the durability loss — it only heals

3.2.8 Thorns

Fires when the wearer is hit (broadcast; strongest piece wins).

Branch Lv1 Lv2 Lv3 Mechanic
Blood Siphon blood_siphon heal 2 on being hit 4 6 Unconditional
Painful Lament painful_lament radius 3 5 7 Deals exactly the damage you just took to every living thing in range as thorns damage
Self-Preservation self_preservation 10% frightened (radius 8) 20% (10) 30% (12) Fear for 200 ticks (10 s). Whoever landed the blow is always counted and frightened first; the rest are picked at random

3.2.9 Feather Falling

Branch Lv1 Lv2 Lv3 Mechanic
Barren Descent crater fall damage immune · blast radius 2 3.5 5 Landing damage is zeroed; a fall of 3+ blocks deals blast damage equal to the fall distance to everything nearby. It borrows the explosion damage type without actually detonating: no block damage, no crater, armour and blast protection still apply
Mountaineer mountaineer jump height +1 +2 +3 Solved from height, so it still reads as "one block per level" even when stacked with Jump Boost. Every level ignores falls of up to 7 blocks
Hover hover hover 3 s 6 s 9 s Hold sneak in mid-air to switch gravity off and lock the starting height while still moving sideways; releasing or running out resumes the fall at the interrupted speed. Sneak must be released before it can re-arm

3.2.10 Silk Touch

Branch Lv1 Lv2 Lv3 Mechanic
Perfect Preservation perfect_preserve 50% NBT kept 75% 87.5% One independent roll per level; the block entity data is attached to the drop as BlockEntityTag (chest contents, spawner mob, hive bees…). On success the original container is cleared so nothing spills twice
Sincerity sincerity 10% 20% 30% Mining yields one extra Enchant Essence
Block Duplication block_duplication 1 charge per day 2 3 Sneak-mining spends a charge and doubles the block's drop; charges refill each game day, and the tooltip shows what is left

3.2.11 Efficiency

Branch Lv1 Lv2 Lv3 Mechanic
Metal Breaker metal_breaker harvest tier +1 +2 +3 Moves the tool's tier up the sorted tier list (so it works with modded tiers). Separately it can chew through hardness -1 blocks (bedrock / barriers / end portal frames) at roughly 5.5 / 2.8 / 1.7 s at mining speed 1 — behind a config switch
Chain Reaction chain_reaction 2×2×2 3×3×3 4×4×4 Breaking a block takes a cube around it as well; skips the origin block, air, bedrock, and anything you lack the correct tool for
Rapid Breach haste mining speed +50% +100% +150% Scales BreakSpeed

3.2.12 Fire Protection

Branch Lv1 Lv2 Lv3 Mechanic
Phoenix Rebirth phoenix_rebirth fire heals 2 instead of hurting 4 6 Fire damage is zeroed and converted into healing
Guardian Flame guardian_flame attacker burns 4 s · +2 fire damage 8 s · +4 12 s · +6 Being hit by a mob sets that mob alight and adds direct fire damage
Blazing Sprint blazing_sprint 33% · radius 3 66% · 3.5 100% · 4 While sprinting, rolls every tick and sets nearby mobs alight for 3 s

3.2.13 Smite

Branch Lv1 Lv2 Lv3 Mechanic
Holy Verdict holy_verdict +30% vs undead +60% +90% Judged by MobType.UNDEAD (wither excluded)
Purifying Light purifying_light brightness 12 · 5 s 14 · 10 s 15 · 15 s A slain undead leaves a temporary lamp at its feet (searches up to 2 blocks for a free spot, so a corpse in water gets a lamp above the surface)
Second Dawn second_dawn rebirth cooldown 30 s 20 s 10 s The blow stops hurting the undead and restores them to what they were: zombified piglin → piglin, zoglin → hoglin, zombie/skeleton horse → horse, stray → wandering trader, everything else → villager; wither skeletons die on the spot and always drop their skull. During the cooldown the weapon deals no damage to the undead at all

3.2.14 Bane of Arthropods

Branch Lv1 Lv2 Lv3 Mechanic
Anatomist anatomist +30% vs arthropods +60% +90% Judged by MobType.ARTHROPOD (works with modded spiders)
Specialist Hunter specialist_hunter Slowness I · Weakness I · 5 s II · 10 s III · 15 s Applied whenever you strike an arthropod
Ascendance ascendance Speed I · Strength I · 6 s II · 12 s III · 18 s Refreshed on every arthropod kill (either hand counts)

3.2.15 Looting

Branch Lv1 Lv2 Lv3 Mechanic
XP Plunder xp_plunder +100% XP (×2) +200% (×3) +300% (×4) Scales the value inside LivingExperienceDropEvent — no second wave of hand-spawned orbs
Demon Dancer demon_dancer guaranteed 1 essence 2 3 Drops on every kill (either hand counts)
Life Extraction life_extraction heal 25% of damage 50% 75% Heals on every melee hit

3.2.16 Fortune

Branch Lv1 Lv2 Lv3 Mechanic
Abundance abundance 25% double drops 50% 75% Appends a copy of the whole drop list — this stacks with vanilla Fortune rather than replacing it
Treasure Hunter treasure_hunter 5% 10% 15% Mining any block may add one bonus rare item from a configurable pool (diamond / emerald / ancient debris by default). Ids that fail to resolve are dropped; an empty list disables the branch
Gear of Fate gear_of_fate — — survives one death Only level 3 does anything: on a killing blow the damage is zeroed and health set to 1 (matching a Totem of Undying), at the cost of wiping that item's whole evolution for this path (the vanilla enchantment stays; the branch must be rebuilt at the altar)

3.2.17 Punch

Branch Lv1 Lv2 Lv3 Mechanic
Heavy Hammer heavy_hammer knockback ×2 ×3 ×4 Scales the arrow's stored knockback (capped at 32 so nothing is flung out of loaded chunks)
Shockwave shockwave radius 3 4 5 On impact, shoves every mob around the target in the same direction the victim was sent — the arrow's horizontal velocity — with strength = knockback × 0.6, knockback resistance applied by hand
Shattering Impact shattering blast power 1.5 2.0 2.5 Detonates on a mob or on the ground, once per arrow for its whole life (entity NBT ee_evo_shattered plus a re-entrancy latch) so it can never re-trigger off its own blast. Terrain damage and shooter damage are both configurable

3.2.18 Quick Charge

Branch Lv1 Lv2 Lv3 Mechanic
Drill drill load time -5 ticks (0.25 s) -10 -15 Injected into getChargeDuration by a mixin; floor of 2 ticks
Repeater repeater 2 extra bolts 5 8 A loaded crossbow looses a row of zero-spread bolts trailing the real one. Extra bolts are not retrievable (so one shot cannot become nine). Against a wall they bunch up rather than being skipped — the count is a promise, the spacing is not
Tactical Reload tactical_reload no slowdown · -10% damage -20% -30% The client cancels the use-item movement penalty; the server reduces damage taken while the crossbow is being loaded

3.2.19 Respiration

All three read the helmet slot (strongest piece wins).

Branch Lv1 Lv2 Lv3 Mechanic
In One's Element in_ones_element +15 s of air +30 s +45 s While the head is submerged the air bar is topped up every tick (a grace period, not slower drain); leaving the water resets the whole budget. Underwater visibility floor 0.5 / 0.75 / 1.0 — clearer with every level
Effortless Drift effortless_drift swim speed +50% +100% +150% Re-applies a transient modifier on ForgeMod.SWIM_SPEED every tick (never written to disk)
Tidal Ward tidal_ward 10% less damage in water 20% 30% Applies when any part of the body is in water

3.2.20 Riptide

Branch Lv1 Lv2 Lv3 Mechanic
Death Thrust death_thrust ramming damage +50% +100% +150% Only while the spin attack is active (isAutoSpinAttack)
Overdrive overdrive launch speed +50% · +0.75 s +100% · +1.5 s +150% · +2.25 s Scales the launch velocity and lengthens the spin window (+25 ticks per level on top of vanilla's 20); in water or rain it also keeps pushing, with speed capped at 1.0
Merciful Rain merciful_rain 1 health / 75 ticks /50 ticks /25 ticks Slowly mends the holder in the rain (half a heart); the counter resets when the rain stops or the weapon leaves the hand

3.2.21 Frost Walker

All three read the boots slot.

Branch Lv1 Lv2 Lv3 Mechanic
Frost Prison frost_prison radius 3 4 5 While sneaking, seals nearby enemies in ice taller than they are (only replaceable blocks are filled, so it cannot reach through walls); the ice shatters after 6 s. The freeze is applied for exactly as long, so the victim thaws when the ice breaks — which gives the branch its own cooldown with no extra bookkeeping
Ice Glide ice_glide +50% speed on ice +100% +150% Re-applies a movement-speed modifier while standing on BlockTags.ICE
Stone Cold stone_cold radius 1 2 3 Every 10 ticks, lava within one block below to one block above the feet hardens into basalt

3.2.22 Knockback

Branch Lv1 Lv2 Lv3 Mechanic
Heavy Strike heavy_strike knockback ×2 ×3 ×4 Scales strength inside LivingKnockBackEvent (vanilla then applies ×0.6, knockback resistance and the half-velocity rule); only when the victim was just struck by this attacker (≤2 ticks ago)
Concussive Blow stunning Shock 1 s 2 s 3 s A melee hit applies Shock (20 × level ticks — the target cannot move or attack); onMeleeHurt
Relentless Pursuit relentless cooldown 3 s 2 s 1 s Marks the last victim on a melee hit; on a left-click while not fully charged and off cooldown, teleports in front of the marked victim (gap = both half-widths + 1.4) and auto-swings at it. Mark lives 100 ticks (5 s). Hitting an entity goes through AttackEntityEvent (cancels the swing); an empty click goes through a client packet. Server-only

3.2.23 Sweeping Edge

Branch Lv1 Lv2 Lv3 Mechanic
Sprinting Sweep sprint_sweep cap 1.5 2.0 2.5 Sprinting on the ground with a sweep-capable sword triggers a sweep; radius = min(1.0 + 0.5 × level, 1.0 + 0.25 × level × (sprint ticks / 20)) (+0.25 × level per second); damage = sweep damage × 2
Spinning Sweep spin_sweep 1 sweep 2 3 A mid-air left-click starts a spin: a fixed-radius 3.0 ring sweep, 1 / 2 / 3 hits, lasting half a swing cooldown; movement is locked and gravity halved, each left-click adds a sweep and doubles downward speed (initial dive 0.1). The client renders a real world-space geometry ring (client/SpinRingRenderer) — both sides (movement lock + rotation packet)
Quick Sweep quick_sweep needs 60% charge 30% 0% (any charge) Lowers the charge threshold for sweeping below vanilla's 0.9F; PlayerAttackMixin @ModifyConstant edits that constant rather than re-copying the sweep loop

3.2.24 Impaling

Branch Lv1 Lv2 Lv3 Mechanic
Rain Song rain_song +30% vs wet +60% +90% Bonus versus "wet" targets (MobType.WATER / in water / in rain); the thrown half goes through ThrownTridentDamageMixin (scales the hit at the point where the number is still editable, base 8 + vanilla bonus)
Laceration laceration Bleeding I II III Applies Bleeding for 100 ticks, amplifier = level − 1 (replaces rather than stacks), to wet targets; melee and thrown
Maelstrom maelstrom radius 5 10 15 Drags nearby entities toward the victim (excluding victim / source / owner); pull 0.45 × knockback resistance (push, resistance applied by hand). Melee needs the attacker in water; thrown needs the weapon or owner in water

3.2.25 Mending

Mending has no event of its own, so the branches split across the orb's arrival and the item's departure.

Branch Lv1 Lv2 Lv3 Mechanic
Blessing blessing heal 0.25 × level per XP 0.5 × level 0.75 × level Heals when picking up an orb and there is damaged mending gear to repair, scaled by the orb's value (not by orb count); PlayerXpEvent.PickupXp, strongest of worn/held
Practice Makes Perfect practice_makes_perfect repair ×2 ×4 ×8 Multiplies the experience-to-durability ratio (vanilla 2 durability per XP → up to 16); needs PlayerRepairMixin @Redirect because vanilla reads and multiplies the ratio in one private expression
Silent Companion silent_companion returns 0.5 × durability 1.0 × 2.0 × On break (onItemBroken, before the shrink) returns XP = max durability × {0.5, 1.0, 2.0}; player only

3.2.26 Aqua Affinity

All three are helmet enchantments about being submerged.

Branch Lv1 Lv2 Lv3 Mechanic
Deep Drill deep_drill scan 20 blocks down 40 80 While mining underwater, scans downward for the first block that is not common rock and reports it (air counts as a find); onBlockBroken, starting from the hole just dug
Wave Guard wave_guard radius 5 7 9 While sneaking underwater, pushes nearby monsters away (radius = 3 + 2 × level); push 0.08 × knockback resistance per tick; onWearerTick
Erosion erosion +100% mining speed +200% +300% Underwater mining speed × (1 + level); onBreakSpeed, applied after vanilla's underwater penalty (so it stacks with Aqua Affinity rather than being overwritten)