🧙 Legendary Mage
Unleash Your Arcane Potential
📖 Overview
Legendary Mage is a NeoForge 1.21.1 magic expansion mod built upon Iron's Spells 'n Spellbooks, introducing a brand-new Elemental Reaction System and uniquely designed spells.
🎭 Translation Note: Currently using translation tools, so there may be inaccuracies. Feedback and corrections via GitHub Issues are greatly appreciated!
⚡ Core Mechanics
| Mechanic | Description |
|---|---|
| Elemental Mark System | Apply elemental marks to targets; accumulate to thresholds to trigger special effects |
| Level 2 Threshold | Can participate in elemental reactions |
| Level 3 Threshold | Triggers elemental debuff effects |
| Datapack Extension | Supports custom elemental reactions and compatibility with third-party magic mods |
🔥 Elemental Debuffs
Triggered when elemental marks reach Level 3 (unless specially noted)
1. Fire 🔥
| Version | Effect |
|---|---|
| ≤ V1.0.3 | -5% max HP per level + magic damage |
| ≥ V1.0.4 | -2% max HP per level + magic damage |
2. Eldritch 👁️
| Feature | Effect |
|---|---|
| Special | No level prerequisite, takes effect immediately |
| Effect | -10% max HP per level |
3. Ice ❄️
| Condition | Effect |
|---|---|
| Ice Mark Level 3 | Freeze target once (crowd control) |
4. Lightning ⚡ V1.0.4 Added
| Feature | Value |
|---|---|
| Effect | Electrocution: Periodically releases chain lightning to nearby enemies |
| Damage Bonus | +5 damage per level |
| Cooldown | 3 seconds |
| Stacking | Levels stackable |
5. Poison ☠️
| Version | Effect |
|---|---|
| ≤ V1.0.3 | Poison: DoT damage, stackable |
| ≥ V1.0.4 | Armor Melting: -2% armor per level, stackable |
6. Ender 🖤
| Condition | Effect |
|---|---|
| Ender Mark Level 3 | 50% chance to trigger Echo Strike |
7. Holy ✨ V1.0.4 Added
| Condition | Effect | Value |
|---|---|---|
| Holy Mark Level 3 | Divine Strike | 20 damage, CD 5s |
8. Dark 🌑 V1.0.4 Added, V1.0.5 Reworked
| Version | Effect |
|---|---|
| V1.0.5 | Lightless Night: -5% spell resistance per level, stackable |
⚗️ Elemental Reactions V1.0.4 Added
| Combination | Name | Effect |
|---|---|---|
| 🔥 Fire + ❄️ Ice | Melt | Single damage boost |
| 🔥 Fire + ⚡ Lightning | Thundercall | Summon lightning strike at target |
| 🔥 Fire + ☠️ Poison | Detonation | Increase Fire Buff by 1 level |
| ⚡ Lightning + ☠️ Poison | EMP | Consume Electrocution to release EMP wave |
| ❄️ Ice + ⚡ Lightning | Superconduct | Gain Lightning Rod Buff (-5% Ice/Lightning resistance) |
| 🌑 Dark + ☠️ Poison | Plague | Continuous corrosion V1.0.4 added |
| 🖤 Ender + Any Element | Final Echo | Spell power + resistance boost |
| 👁️ Eldritch + 🌑 Dark | Chaos | Significant spell power boost |
📦 Datapack Support
V1.0.5+ Full datapack extension support
- ✅ Add custom elemental marks to any spell school
- ✅ Create new elemental reactions
- ✅ Seamless compatibility with third-party magic mods
📚 Documentation: Legendary-Mage Wiki
📥 Download & Feedback
🎨 About Textures: Currently using placeholder textures. If you're interested in contributing artwork, I'd be truly grateful to hear from you!
❄️⚡ Forge your legend, master the elements ⚔️🔥
How to Install [ISS LM]Legendary Mage (Mod)
[ISS LM]Legendary Mage by LOAE_U987 is verified for Neoforge across Minecraft versions 1.21.1 (latest release: 1.1.3, file size: 3.0 MB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.21.1) and platform (Neoforge).
- Make sure you have the compatible loader or environment installed for Neoforge.
- Move the downloaded [ISS LM]Legendary Mage file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version<h1>
<span style="color: #8B5CF6; text-shadow: 0 0 30px #8B5CF6, 0 0 60px rgba(139,92,246,0.2);">🔮 Legendary Mage 🔮</span>
<span style="color: #F59E0B; font-size: 0.5em; display: block; margin-top: 6px;">v1.1.3 — The Elemental Circle Closes, The Codex Is Purified</span>
</h1>
<p align="center">
<img src="https://img.shields.io/badge/🔥_Elemental_Reactions-All_13_Complete-8B5CF6?style=flat-square" alt="Elemental Reactions All 13 Complete">
<img src="https://img.shields.io/badge/🩸_Lifesteal_Source-Guarded-EF4444?style=flat-square" alt="Lifesteal Source Guarded">
<img src="https://img.shields.io/badge/🛡️_Creative_Players-Protected-10B981?style=flat-square" alt="Creative Players Protected">
<img src="https://img.shields.io/badge/📦_NeoForge_1.21.1-Ready-F59E0B?style=flat-square" alt="NeoForge 1.21.1 Ready">
</p>
<br>
<p><i>"First, the circle closes."</i></p>
<p><i>"Then, the boundaries are drawn."</i></p>
<p><i>"Finally, the codex is read with clear eyes."</i></p>
</div>
<div align="center">
<h2>📖 This Update's Contents</h2>
</div>
## 🩸 I · The Lifesteal Source, Verified
> *A mark was placed. A blow was struck. And the caster healed—even when the damage was never theirs to claim.*
>
> *A third party—another player, a wandering monster, an unforgiving world—could strike the branded target, and the caster would drink life from a wound they never dealt.*
>
> *This is no longer the case.*
- Caster Faction Check** — The lifesteal reaction now verifies the damage source belongs to the caster's own faction (self, summons, or teammates). Third-party damage no longer grants free healing.
- Zero-Vector Guard** — The Void Frost knockback now skips displacement entirely when caster and target overlap, rather than zeroing velocity. Consistent with the existing Ender Warp behavior.
- Integer Overflow Fix** — The zone manager's tick counter has been widened from
inttolong, preventing zone expiry after roughly 3.4 years of continuous runtime. - Zone Data Cleanup** — Zone data is now released on level unload, closing a long-running memory leak.
- Divide-by-Zero Guard** — Heal reduction now records the original amount before applying the multiplier, eliminating a divide-by-zero when configuration allows a zero value.
- Particle Architecture Unified** — Five reaction effects have been migrated from inline implementations to the shared particle layer, all respecting the particle budget.
- Comment Standards** — Missing method-level documentation filled in; refresh durations extracted into named constants.
> *The mark is honest now. It only answers to the hand that drew it.*
## 🌫️ II · The Caster Steps Out of Their Own Cloud
> *A zone was summoned. The caster walked in—and was poisoned by their own mist.*
>
> *Vanilla area effect clouds answer to no master. They touch friend and foe alike. So we built our own.*
- Custom Zone System** — A new zone manager replaces vanilla area effect clou
## 🚀 v1.1.2 (2026-08-08)
### 🏗️ Dependencies: Simplified Mod Requirements
- Removed GeckoLib as a mandatory dependency**
- Previously, you had to install GeckoLib, Curios, and PlayerAnimator separately — even though Iron's Spells 'n Spellbooks already bundles them.
- Now these are handled automatically as **transitive dependencies** through Iron's Spells. You only need to install **Iron's Spells 'n Spellbooks** — nothing else.
- Updated
neoforge.mods.toml** - Removed required dependency blocks for
geckolib[4.8.3,4.9),curios, andplayeranimator. - Only required dependencies now: NeoForge, Minecraft, and
irons_spellbooks. patchouliremains optional (for the in-game guidebook).- Description updated to reflect the simplified "Requires" list.
- Updated
build.gradle** - GeckoLib: downgraded from
implementation→compileOnly+localRuntime(still available for dev builds, but not forced on players). - Curios & PlayerAnimator: downgraded to
localRuntimeonly (pulled in by Iron's Spells during dev, no manual install needed).
- Cleaned up
gradle.properties** - Removed unused variables:
playeranimator_version,irons_spells_version,irons_lib_version. - Kept
geckolib_versionandcurios_versionas they are still referenced elsewhere.
> 💡 **What this means for players:** Your mod list just got shorter. Install Iron's Spells 'n Spellbooks — GeckoLib, Curios, and PlayerAnimator come with it automatically. No extra downloads, no version conflicts.
<h1>
<span style="color: #FF6B6B; text-shadow: 0 0 25px #FF6B6B, 0 0 50px rgba(255,107,107,0.2);">🔥Legendary Mage🔥</span>
<span style="color: #666; font-size: 0.5em; display: block; margin-top: 6px;">v1.1.1 — THE ELEMENTS REMEMBER</span>
</h1>
<br>
<img src="https://img.shields.io/badge/🔥_Elemental_Rewrite-FF6B6B?style=for-the-badge&logoColor=white">
<br><br>
<p><i>"The fire no longer forgets who lit it."</i></p>
<p><i>"The frost remembers the hand that cast it."</i></p>
<p><i>"And the holy mark... the holy mark no longer lives in the void."</i></p>
<p><i>"It lives in <b>you</b>."</i></p>
</div>
<div align="center">
## 🎬 THE ELEMENTS HAVE LEARNED TO REMEMBER
</div>
> *In the old code, elemental reactions were ghosts. They happened, then vanished into static voids, leaving no trace of who summoned them, no memory of when they might strike again.*
>
> *No longer.*
<div align="center">
## 🔥 WHAT'S NEW
</div>
### ⚔️ ElementReactionManager — Completely Rewritten
- The old system:** *Buffs applied blindly. Reactions triggered without context. The elements were deaf and dumb.*
- The new system:** *Every flame knows its master. Every frostbite carries a signature.*
<div align="center">
| Before | After |
|:---|:---|
| Static, stateless reactions | **Stateful reactions** tied to caster identity |
| Buffs applied without tracking | **ElementMarkData** records who cast what, and when |
| Client-side guesswork | **ElementMarkSyncHandler** keeps every client in perfect sync |
| Reactions fading into the void | **Persistent mechanics** that respect cooldowns and continuity |
</div>
> 🔥 *"I cast a fireball. Three minutes later, my ally's fireball detonates on the same target — and the reaction triggers, because the system remembers I was there first."*
### 🧠 ElementMarkData — The Memory of Magic
A new data structure that attaches to entities like a magical scar.
<div align="center">
| What It Tracks | Why It Matters |
|:---|:---|
| **Caster Identity** | Your fire and your friend's fire are no longer the same fire |
| **Cooldown Timers** | No more spamming the same reaction into infinity |
| **Elemental Residue** | The target carries the mark until it expires or is consumed |
</div>
> 🧠 *"The mark is not a debuff. It is a memory the target cannot shake."*
### 🌐 ElementMarkSyncHandler — One Truth, Many Eyes
Client-server sync for elemental states. No more desynced particles. No more phantom marks.
> *What the server knows, the client sees. Instantly. Reliably. Every time.*
### ✨ HolyMarkEffect — From Static Void to Living NBT
- The Problem:** *Holy marks were stored in static maps. Server restart? Gone. Dimension change? Gone. They were mayflies.*
- The Solution:** *Holy marks now live in entity NBT. They persist. They travel. They survive.*
<div align="center">
| Storage | Persistence | Survival |
|:---:|:---:|:---:|
| **Old:** Static cleanup logic | Server restart = deat
...
<div align="center">
<h2> 🚩 <span style="color: #FF6B6B; text-shadow: 0 0 20px #FF6B6B;">v1.1.0— The Rewrite</span> </h2>
<img src="https://img.shields.io/badge/🔥_Major_Rewrite-FF6B6B?style=flat-square"> <img src="https://img.shields.io/badge/🛠️_Under_Construction-FF6B6B?style=flat-square">
<p><i>This version essentially rewrites the mod from the ground up.</i></p>
</div>
## 📋 Changelog
<div align="center">
| Type | Change | Details |
| :----- | :------- | :-------- |
| **⚡ Removed** | Spell System | *If you rely on spells, you may choose not to upgrade* |
| **🔧 Fixed** | Memory leaks | Optimized resource cleanup across all subsystems |
| **🔧 Fixed** | Log spam | Reduced excessive console output |
| **🔧 Fixed** | Duplicate implementations | Refactored redundant code to reduce overhead |
</div>
### ✨Feature Update:
- Updates made in response to community feedback: You can right-click on an ice sculpture with an empty hand to toggle between "Follow" and "Sit and Wait"
### 🛠️ Configurations
- Rewriting the configuration interface to make it more readable and visually appealing
### 🛠️ Configurations
- **Config Refactor**: Added independent configuration options for all Buffs and spells
- **New Config Directory**: Restructured config file organization for easier management and scalability
- **Flame Buff**: Added new fire damage-over-time effect
- **Entity Blacklist**: Configurable list of entities immune to the Flame Buff
### 📖 Documentation & Compatibility
- **Patchouli Manual Text Fixes**: Corrected text errors in the manual
- **Elemental Reaction Compatibility**: Elemental reactions can now be customized via commands. See [🎮 Legendary‐Mage Command Datapack Extension WIKI](https://github.com/LOVE-U987/Legendary-Mage/wiki/%F0%9F%8E%AE-Legendary%E2%80%90Mage-Command-Datapack-Extension-WIKI)for details
- **Streamlined Workflow**: Simplified configuration process for elemental reaction compatibility
### 🐛 Bug Fixes
- Fixed IceExplosionConeProjectile Crash**
- **Root Cause**:
ClassCastExceptionthrown when casting(LivingEntity) entityHitResult.getEntity()on non-living entities
### 🔥Buff Adjustment
- Lightning Rod buff: changed to reduce 5% Ice Spell Resistance and 10% Thunder Spell Resistance, stackable
- Dark Night No Light buff: changed to reduce 5% Blood Spell Resistance.
- Plague buff: The survival duration of generated zombies has been changed to 3 seconds
### 🧙 Spell Addition
- Element bullet element
- Three-phase arrow element
- Elemental prism element
### 🎉Art Updates
- Modification of spell icons and scrolls of elemental schools
### 🐦⬛Interactive Addition
- Added interactivity with the Patchouli (due to time constraints, AI assisted me in writing, and will be revised once the subsequent copywriting is complete)
### 🎇 Special Effects
- Added real-time calculated trail effects for projectile spells such as "Elemental Barrage"
- Fixed the crash caused by using milk when there is an element tag present
- Remove the erroneous built-in test data packet (why are you so careless...)
## 📋 Update Overview
| Category | Number of Changes | Status |
|:---:|:---:|:---:|
| 🌟 Element Anomaly | 6 items | 5 enhancements, 1 adjustment |
| ⚡ Elemental Reaction | 3 Items | Brand-new Mechanism |
| 🔥 Numerical balance | 2 items | Optimization and adjustment |
| 🛠️ Data Package Support | 1 | Compatible with other modules |
## 🔥 Element Abnormal State Redesign
### <span style="color:#e74c3c">🔥 Flame Anomaly</span>
| Level | Effect | Change |
|:---:|:---|:---:|
| **Level 3** | **2%** of maximum health per level | ⬇️ Weakened (originally 5%) |
### <span style="color:#f1c40f">✨ Abnormal Brightness</span>
| Level | Effect | Notes |
|:---:|:---|:---|
| **Level 3** | **20%** of Holy Blight damage | Elemental Mark does not update |
| | | ⏱️ CD: **5 seconds** |
> ⚠️ **Note**: Holy Strike is an independent damage source and does not trigger Elemental Chain Reaction
### <span style="color:#2c3e50">🌑 Dark Anomaly</span>
| Level | Effect | Characteristic |
|:---:|:---|:---|
| **Level 3** | Obtain the "Dark and Dull" buff | 🔷 Stackable |
| | Reduces **Blood Magic Resistance** | Calculated independently for each level |
### <span style="color:#95a5a6">🌫️ Uninfluenced Anomaly</span>
| Level | Effect | Trigger Probability |
|:---:|:---|:---:|
| **Level 3** | **Echo Strike** added to attack | **50%** |
### <span style="color:#8e44ad">🔮 Unusual Black Magic</span>
| Mechanism | Value |
|:---|:---:|
| Spell Resistance Reduction | **-10%** / Level |
| Superposition method | Linear superposition |
### <span style="color:#3498db">⚡ Electric Shock Anomaly</span> ⭐ Key Update
| Level | Effect | Parameter |
|:---:|:---|:---|
| **Level 3** | Obtain the "Electrify" buff | 🔷 Stackable |
| Trigger mechanism | Release chain lightning every **2 seconds** | Fixed interval |
| Damage Value | **5** / Hit | Ignores Defense |
| Special rules | Do not update element tags | Independent calculation |
``
`
⚡ Chain lightning mechanism ⚡
- Trigger interval: 2 seconds
- Release position: Current position of the self
- Damage type: Lightning damage
- Element interaction: ❌ Do not update tags
- Stacking Effect: ✅ The higher the level, the damage increases while the frequency remains unchanged
## ⚔️ Elemental Reaction System
### Quick Reference Table for Reactions
| Reaction | Element combination | Effect | Key value |
|:---:|:---:|:---|:---|
| **Thunder Poison Reaction** | ⚡Thunder + 🦠Poison | Range: Electromagnetic Wave | Damage = Electricity Sensitivity Level × 5
Range = 3 squares |
| **Ice and Thunder Reaction** | ❄️Ice + ⚡Thunder | Lightning Rod buff | Thunder Resistance -5% per level
Ice resistance -5%/level
🔷 Stackable |
| **Dark Poison Reaction** | 🌑Dark + 🦠Poison | Plague System | See below for details ⬇️ |
### 💀 Detailed Explanation of Plague Mechanism (Dark Poison Reaction)
#### Basic effect
`
``┌─────────────────────────────────────┐
│ "Plague" buff attribute
...
### 🎉Changed icons for elemental marks and the Blazing effect
### ❌ Error fixes:
- Fixed the issue of abnormal health for summoned creatures in **Living Ice Sculpture**
### ❌ Error fixes:
- Fixed damage calculation errors in element translation and added EMIffect compatibility to BUFF **Ender Echo**
- Implosion** Modification: Now the burst spell will continuously gather enemies during the singing period
- Blizzard** Modification: Blizzard now requires selecting a target for release
- Element response**: Allow the use of JSON to configure compatibility with other spell genres
- New Spells: **Ice Explosion Cone**/**Focused Ice Cone**/**Giant Snowball**(There are issues, still under development)