COWMODSКаталог модов

[AN]Adaptive Nemesis

The dynamic difficulty balancing module specifically designed for integration packs aims to address the issue of difficulty imbalance in current mainstream integration packs, where the early game is too easy and the late game is too challenging.

Автор: LOAE_U9873,6 тыс.3обновлён 25 окт. 2026 г.
ПриключенияМеханики игры

Описание

⚔️ Adaptive Nemesis ⚔️

"Your power feeds their evolution."

They weren't kidding.


🎬 What Is This?

You know the drill. You start a modpack. Early game: you're scratching zombies with a wooden stick, questioning your life choices. Late game: you're in full god gear one-shotting everything that moves, bored out of your mind.

Adaptive Nemesis breaks that loop.

It watches you. It learns. And it makes sure the world stays dangerous — no matter how strong you get.


⚔️ Core Systems

🧠 Player Strength Evaluation

The mod doesn't just look at your armor bar. It reads your entire combat profile:

What It SeesWhy It Matters
🛡️ Armor & HealthTank builds don't go unpunished
⚔️ Attack StatsGlass cannons meet glass resistance
✨ Apotheosis GearThat mythic affix? They noticed.
🔮 Iron's Spells ManaMages get scaled against too
⚔️ Epic Fight StaminaYour combat style is on file

💡 Everything is weighted. Everything counts. And yes — you can tweak the weights in config.


📈 Dynamic Enemy Scaling

Every hostile mob that spawns gets a personal gift from the system:

AttributeScalingHard Cap
HealthBased on nearby player strength500%
DamageYou hit hard? They hit harder.500%
ArmorYour sword will feel it.300%
Attack SpeedNo more infinite stunlock.2.0x
Movement SpeedRunning won't save you.2.0x

The twist: Every mob rolls 70%~130% of the base scaling. Two zombies from the same spawn? Different personalities. Different threat levels. You'll never know which one is the problem child.

🔥 "I saw a zombie with 80 HP and laughed. Then I saw the one next to it had 240 HP and a diamond sword. I stopped laughing."

Anti-Explosion Safeguards: Base values are stored in NBT. If tags get cleared, the mod falls back to DefaultAttributes. No exponential HP inflation. No broken saves.

Equipment Scaling: Humanoid enemies can spawn with scaled gear and enchantments. The system scans ItemTags to pull from your modpack's weapon/armor pool. Dangerous enchants are blacklisted. Drops can be disabled so you don't drown in loot.


🌍 World Stage System

This is server-wide. Permanent. And it doesn't care about your feelings.

StageHow You Got HereWhat Changes
0Fresh worldBaseline. Enjoy it while it lasts.
1+A player killed a Boss (Dragon, Wither, Warden...)+50% enemy strength per stage

⚡ Only player kills count. The stage is shared across all dimensions. And it only goes up.


🎚️ Adaptive Float System

The mod doesn't just scale once and call it a day. It watches your performance in real time:

You Do ThisThe World Does This
Chain kills like a maniacFloat multiplier +10% — they grow
Die. A lot.Float multiplier -15% — breathing room
AFK at your mob farmDecay kicks in. The world forgets you were scary.
Glass cannon build (high damage, low survivability)Efficiency check. Difficulty reels back.

🧠 "The system learned to read your true skill. Not just your DPS."


💀 True Damage Conversion (Iron Turtle Terminator)

Wearing 100+ armor and feeling invinc? Cute.

Your ArmorWhat Gets Through
≤205% true damage
20~5015% true damage
50~10025% true damage
>10035% true damage

Armor still matters. But it no longer makes you a god.


👹 Nemesis Memory System

Every player gets a personal file. The enemies remember:

Memory TypeWhat They LearnHow They Adapt
Kill PreferenceHow you usually killThey gain resistances to your favorite method
Death RecordsWhat killed you lastThey start using that against you
Equipment HistoryWhat gear you runThey evolve counters to your build
Behavior PatternsMelee / Ranged / MagicTheir AI shifts to exploit your habits

"I always opened with a fireball. Then the skeletons started spawning with Fire Resistance. Every. Single. Time."


🛡️ Newbie Protection

Not everyone starts as a legend. The mod knows:

TriggerEffect
Player strength below thresholdMonster stats -30%
First deathProtection extended by 10 minutes
3 deaths in a rowForced protection until you kill something

The system wants you to suffer. But it wants you to stick around to suffer more.


🐉 Boss Mechanics

Boss fights shouldn't end in two hits.

MechanicWhat It Does
Damage CapSingle-hit damage capped (default 100), cap rises as Boss HP drops
Attribute AmpBoss HP ×5, damage ×3
Combat TrackingRecords fight duration and total damage dealt
Phase EvolutionAttack patterns shift as the fight drags on
Smart IDRecognizes Bosses by tag, type, name, or health threshold

🌩️ Invasion Event System

Sometimes the world doesn't wait for you to find trouble.

FeatureDetail
TriggerKill 25 surface undead (first time), 100 (after)
WeatherThunderstorm. Because atmosphere matters.
WavesMulti-wave assaults scaling with world stage
DirectionEnemies come from North, South, East, or West
UIBoss bar tracks wave progress
RewardsLoot, XP, and effects for nearby players

Custom invasions via datapack: data/<namespace>/invasions/<name>.json


🔗 Mod Compatibility

ModWhat Gets Integrated
🔮 Iron's Spells 'n SpellbooksSpell power, mana, cooldowns, magic resistance
⚔️ Epic FightHit resistance, impact, armor breaking, combos, stamina
✨ ApotheosisGear quality, mythic affix tier evaluation
🐗 L2HostilityCompatibility mode skips overlapping scaling
📦 KubeJSFull event API, script extensions, config hot reload

⌨️ Commands

All /an commands. OP level 2 required.

CommandWhat It Does
/an statusIs the mod alive? What's it thinking?
/an strength [player]Full combat profile breakdown
/an difficultyTweak the numbers
/an protection [player]Manage newbie shields
/an memory [player]Read the Nemesis file
/an scan [range]Inspect nearby scaled enemies
/an nemesis [type]Summon a personal nightmare
/an invasion trigger [type] [waves] [difficulty]Start the storm manually
/an test [module]Debug tools
/an reloadHot reload configs
/an helpWhen you forget the above

🔧 KubeJS Integration

Script your own chaos.

EventWhen It FiresWhat You Can Do
adaptive_nemesis.entity_scaleMob spawnsOverride scaling multipliers per entity
adaptive_nemesis.damage_calculationTrue damage triggersAdjust or cancel conversion
adaptive_nemesis.player_strength_evaluationStrength recalculatedModify final score
adaptive_nemesis.nemesis_memory_updateMemory milestoneCustom rewards, triggers
adaptive_nemesis.world_stage_changeStage advancesReact to global progression
adaptive_nemesis.invasion_startInvasion beginsModify waves/difficulty or cancel
adaptive_nemesis.invasion_wave_startEach wave startsInject custom logic
adaptive_nemesis.invasion_endInvasion endsModify rewards based on outcome

📦 Datapack Support

No code required. Just JSON and spite.

  • data/<namespace>/world_stages/<name>.json — Stage rules, caps, invasion params
  • data/<namespace>/invasions/<name>.json — Custom invasions: waves, enemies, effects, rewards
  • data/<namespace>/nemesis/<name>.json — Nemesis profiles and behaviors

Hot-reloaded with F3+T.


🚀 Performance

ProblemSolution
Entity calculation lagRegional caching + async updates
TPS drops on serversPlayer-list traversal + distance checks
Config reload lagIncremental sync, not full rebuild
Memory bloatOn-demand loading, periodic archiving
Scaling timeoutWatchdog detects and marks bad entities

⚔️ The Point

"Your power feeds their evolution."

This isn't a mod that makes the game harder. It's a mod that makes the game pay attention.

You want to feel your progression? You'll feel it. The enemies will make sure of it.

You want to coast in god gear? Not here. The world scales. It learns. It remembers.

Adaptive Nemesis doesn't nerf you. It respects you enough to stay dangerous.


⚔️ Every time you grow stronger, your Nemesis evolves. ⚔️

CurseForge Modrinth GitHub

Галерея

Available configurations

Последние версии

Все версии →
release

[AN]Adaptive Nemesis 1.0.18

1.0.18
25 окт. 2026 г.115Minecraft: 1.21.1neoforge
Скачать
Что нового
<div align="center"> <h1> <span style="color: #8B5CF6; text-shadow: 0 0 30px #8B5CF6, 0 0 60px rgba(139,92,246,0.2);">⚖️ Trial of the Nemesis · Walking on Water ⚖️</span> <span style="color: #F59E0B; font-size: 0.5em; display: block; margin-top: 6px;">v1.0.18 — The Script Finally Wakes, and the Nemesis Walks Upon Water</span> </h1> <p align="center"> <img src="https://img.shields.io/badge/🎯_KubeJS_Example_Script-Fixed-8B5CF6?style=flat-square" alt="KubeJS Example Script Fixed"> <img src="https://img.shields.io/badge/❄️_Invasion_Wading-Frost_Walker_Aid-10B981?style=flat-square" alt="Invasion Wading Frost Walker Aid"> <img src="https://img.shields.io/badge/💡_Nemesis_Glow-Configurable-EF4444?style=flat-square" alt="Nemesis Glow Configurable"> </p> <br> <p><i>"First, we see which promises were never kept."</i></p> <p><i>"Then, we make every step land on solid ground."</i></p> <p><i>"Finally, we return the light to those who should decide it."</i></p> </div> --- <div align="center"> <h2>📖 This Update's Contents</h2> </div> --- ## 🎯 I · The Script Finally Wakes > *The command example shipped with the mod had never successfully loaded—not once since the day it was written.* > > *Every `/reload`, it left a vague error in the console, then fell silent. It was built upon an interface that was never implemented—the global binding it called did not exist, and the way it registered commands was a signature that was never real. The line the error pointed to was merely where the bad nesting landed, not where the problem began.* > > *Now, it has been rewritten in full.* - **Script Rewritten** — The example script now uses the correct syntax, explicitly loads its parameter types, registers commands in the standard manner, and forwards requests to the mod's own native command. - **Two Example Commands** — A quick trigger with default parameters, and an advanced trigger with configurable wave count and difficulty multiplier. Both require operator permission. - **Ready to Use** — Drop it into the KubeJS script directory and it loads. No further edits required. > *The script has woken. It can finally say what it always meant to say.* --- ## ❄️ II · Walking on Water > *Invading enemies once feared the water.* > > *The aid of Frost Walker applied only at the moment of spawning—if an enemy happened to spawn on the surface of water, it would wear boots and spread a layer of frosted ice beneath its feet. But if it began on land and met water along the way, there was no aid at all. It fell in, sank, and was gone.* > > *That gap existed in both the old and new versions. Now it has been closed.* - **Sustained Wading Aid** — While an invasion is active, the mod periodically scans all spawned invasion enemies and identifies those whose bodies are in water or whose feet rest on water. - **Frost Walker Boots Applied** — If the enemy's feet lack a Frost Walker enchantment, boots are provided. If the enchantment is already present, it is skipped, so your carefully configured gear is never overwritten. - **Layer-by-Layer Freezing** — The water directly beneath the enemy's feet is frozen into frosted ice. Only that layer is frozen—the cell containing the enemy's body is left untouched, preventing them from being trapped inside a solid block. - **Deep Water Self-Support** — In deep water, the enemy sinks layer by layer and freezes layer by layer, eventually standing atop a pillar of ice and regaining solid footing. From there, Frost Walker extends the ice on its own. - **Terrain Heals Itself** — Frosted ice melts naturally back into water. The world is not permanently altered. > *The enemy no longer sinks. It walks upon ice, step by step, toward you.* --- ## 💡 III · The Nemesis's Light, Now Optional > *A nemesis spawned with a glowing effect, standing out sharply in the dark.* > > *That light was once hardcoded, subject to no configuration at all. If you wanted it gone, you had to edit the code.* > > *Now, it is a switch.* - **New Configuration Option** — `enableNemesisGlow`, enabled by default, with a plain comment: "Whether the nemesis carries its own glowing buff." - **Both Spawn Paths Synchronized** — Whether a nemesis is converted naturally or manually, its glow is now controlled by this single switch. - **Off Means No Light** — When disabled, no glowing effect is applied when a nemesis spawns. > *Light should be yours to grant, not imposed upon you.* --- <div align="center"> <h2>📋 Update Overview</h2> </div> ```diff + 🎯 KubeJS command example script fully rewritten; it finally loads correctly + 🎯 Two example commands provided: default and custom invasion triggers + ❄️ Invasion enemies now receive sustained Frost Walker aid while wading + ❄️ In deep water, enemies freeze layer by layer and regain solid footing + ❄️ Frosted ice melts naturally; terrain is not permanently altered + 💡 New nemesis glow configuration switch (enabled by default) + 💡 Both natural and manual conversion paths now respect the switch - 🎯 The old example script built on an interface that never existed - ❄️ The gap where enemies sank on contact with water, with no aid en route - 💡 The hardcoded nemesis glow that could not be turned off ``` --- <div align="center"> <p><strong>⚖️ The script wakes. The enemy wades. The nemesis's light is yours to decide. ⚖️</strong></p> <blockquote> <p><em>"Every example shipped with a mod should actually work."</em><br> <em>"Every stretch of road without aid is a promise left unkept."</em><br> <em>"And every light should be yours to kindle, or to let fade."</em></p> </blockquote> <p> <a href="https://github.com/LOVE-U987/Adaptive-Nemesis"> <img src="https://img.shields.io/badge/⚖️_Adaptive_Nemesis_GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub"> </a> </p> <p><strong>🌙 v1.0.18 — The nemesis walks on ice. May you fight well. 🌙</strong></p> </div>
release

[AN]Adaptive Nemesis 1.0.18

1.0.18
25 окт. 2026 г.58Minecraft: 1.20.1forge
Скачать
Что нового
<div align="center"> <h1> <span style="color: #8B5CF6; text-shadow: 0 0 30px #8B5CF6, 0 0 60px rgba(139,92,246,0.2);">⚖️ Trial of the Nemesis · Walking on Water ⚖️</span> <span style="color: #F59E0B; font-size: 0.5em; display: block; margin-top: 6px;">v1.0.18 — The Script Finally Wakes, and the Nemesis Walks Upon Water</span> </h1> <p align="center"> <img src="https://img.shields.io/badge/🎯_KubeJS_Example_Script-Fixed-8B5CF6?style=flat-square" alt="KubeJS Example Script Fixed"> <img src="https://img.shields.io/badge/❄️_Invasion_Wading-Frost_Walker_Aid-10B981?style=flat-square" alt="Invasion Wading Frost Walker Aid"> <img src="https://img.shields.io/badge/💡_Nemesis_Glow-Configurable-EF4444?style=flat-square" alt="Nemesis Glow Configurable"> </p> <br> <p><i>"First, we see which promises were never kept."</i></p> <p><i>"Then, we make every step land on solid ground."</i></p> <p><i>"Finally, we return the light to those who should decide it."</i></p> </div> --- <div align="center"> <h2>📖 This Update's Contents</h2> </div> --- ## 🎯 I · The Script Finally Wakes > *The command example shipped with the mod had never successfully loaded—not once since the day it was written.* > > *Every `/reload`, it left a vague error in the console, then fell silent. It was built upon an interface that was never implemented—the global binding it called did not exist, and the way it registered commands was a signature that was never real. The line the error pointed to was merely where the bad nesting landed, not where the problem began.* > > *Now, it has been rewritten in full.* - **Script Rewritten** — The example script now uses the correct syntax, explicitly loads its parameter types, registers commands in the standard manner, and forwards requests to the mod's own native command. - **Two Example Commands** — A quick trigger with default parameters, and an advanced trigger with configurable wave count and difficulty multiplier. Both require operator permission. - **Ready to Use** — Drop it into the KubeJS script directory and it loads. No further edits required. > *The script has woken. It can finally say what it always meant to say.* --- ## ❄️ II · Walking on Water > *Invading enemies once feared the water.* > > *The aid of Frost Walker applied only at the moment of spawning—if an enemy happened to spawn on the surface of water, it would wear boots and spread a layer of frosted ice beneath its feet. But if it began on land and met water along the way, there was no aid at all. It fell in, sank, and was gone.* > > *That gap existed in both the old and new versions. Now it has been closed.* - **Sustained Wading Aid** — While an invasion is active, the mod periodically scans all spawned invasion enemies and identifies those whose bodies are in water or whose feet rest on water. - **Frost Walker Boots Applied** — If the enemy's feet lack a Frost Walker enchantment, boots are provided. If the enchantment is already present, it is skipped, so your carefully configured gear is never overwritten. - **Layer-by-Layer Freezing** — The water directly beneath the enemy's feet is frozen into frosted ice. Only that layer is frozen—the cell containing the enemy's body is left untouched, preventing them from being trapped inside a solid block. - **Deep Water Self-Support** — In deep water, the enemy sinks layer by layer and freezes layer by layer, eventually standing atop a pillar of ice and regaining solid footing. From there, Frost Walker extends the ice on its own. - **Terrain Heals Itself** — Frosted ice melts naturally back into water. The world is not permanently altered. > *The enemy no longer sinks. It walks upon ice, step by step, toward you.* --- ## 💡 III · The Nemesis's Light, Now Optional > *A nemesis spawned with a glowing effect, standing out sharply in the dark.* > > *That light was once hardcoded, subject to no configuration at all. If you wanted it gone, you had to edit the code.* > > *Now, it is a switch.* - **New Configuration Option** — `enableNemesisGlow`, enabled by default, with a plain comment: "Whether the nemesis carries its own glowing buff." - **Both Spawn Paths Synchronized** — Whether a nemesis is converted naturally or manually, its glow is now controlled by this single switch. - **Off Means No Light** — When disabled, no glowing effect is applied when a nemesis spawns. > *Light should be yours to grant, not imposed upon you.* --- <div align="center"> <h2>📋 Update Overview</h2> </div> ```diff + 🎯 KubeJS command example script fully rewritten; it finally loads correctly + 🎯 Two example commands provided: default and custom invasion triggers + ❄️ Invasion enemies now receive sustained Frost Walker aid while wading + ❄️ In deep water, enemies freeze layer by layer and regain solid footing + ❄️ Frosted ice melts naturally; terrain is not permanently altered + 💡 New nemesis glow configuration switch (enabled by default) + 💡 Both natural and manual conversion paths now respect the switch - 🎯 The old example script built on an interface that never existed - ❄️ The gap where enemies sank on contact with water, with no aid en route - 💡 The hardcoded nemesis glow that could not be turned off ``` --- <div align="center"> <p><strong>⚖️ The script wakes. The enemy wades. The nemesis's light is yours to decide. ⚖️</strong></p> <blockquote> <p><em>"Every example shipped with a mod should actually work."</em><br> <em>"Every stretch of road without aid is a promise left unkept."</em><br> <em>"And every light should be yours to kindle, or to let fade."</em></p> </blockquote> <p> <a href="https://github.com/LOVE-U987/Adaptive-Nemesis"> <img src="https://img.shields.io/badge/⚖️_Adaptive_Nemesis_GitHub-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub"> </a> </p> <p><strong>🌙 v1.0.18 — The nemesis walks on ice. May you fight well. 🌙</strong></p> </div>
alpha

[AN]Adaptive Nemesis 1.0.17

1.0.17
1 окт. 2026 г.191Minecraft: 1.20.1forge
Скачать
alpha

[AN]Adaptive Nemesis 1.0.17

1.0.17
1 окт. 2026 г.352Minecraft: 1.21.1neoforge
Скачать
Что нового
<div align="center"> <h1> <span style="color: #8B5CF6; text-shadow: 0 0 30px #8B5CF6, 0 0 60px rgba(139,92,246,0.2);">⚖️ Trial of the Nemesis · Reforging the Balance ⚖️</span> <span style="color: #F59E0B; font-size: 0.5em; display: block; margin-top: 6px;">v1.0.17 — Health bars no longer lie, and nemeses finally leave treasure behind</span> </h1> <p align="center"> <img src="https://img.shields.io/badge/🐉_Ender_Dragon_Health_Bar-Fixed-8B5CF6?style=for-the-badge&logoColor=white" alt="Ender Dragon Health Bar Fixed"> <img src="https://img.shields.io/badge/💥_Boss_Multipliers-No_Longer_Doubled-EF4444?style=for-the-badge&logoColor=white" alt="Boss Multipliers No Longer Doubled"> <img src="https://img.shields.io/badge/🎁_Nemesis_Drops-New_Feature-10B981?style=for-the-badge&logoColor=white" alt="Nemesis Drops New Feature"> </p> <br> <p><i>"First, we see the imbalance."</i></p> <p><i>"Then, we correct the scales."</i></p> <p><i>"Finally, we make the nemesis worthy of its name."</i></p> </div> --- <div align="center"> <h2>📖 This Update's Contents</h2> </div> --- ## 🐉 1 · The Ender Dragon's Health Bar Finally Stops Lying > *Have you ever encountered this:* > > *An Ender Dragon with a Champion modifier descends in all its glory, yet its health bar is pitifully short—less than a tenth of what it should be. You strike it once, and it falls. Not because it was weak, but because its heart was empty from the very beginning.* > > *Now, this problem has been completely fixed.* **🐉 What we did:** - **Health Bar Correction**: Bosses now restore their health based on their **true maximum health**, rather than the "base value" before third-party mod bonuses. The higher the Champion modifier stacks, the higher the health bar will be, eliminating the awkward scenario of "a strong dragon with very little health." - **Safeguard**: A fallback has been added—even if adaptive scaling fails to trigger for some reason (no players nearby, entity blacklisted, scaling timed out), the Boss will automatically refill its health to the true maximum on the next tick. The imbalance will no longer be written into the save. > *The dragon has a heart again. This time, the health bar tells the truth.* --- ## 💥 2 · Boss Multipliers Are No Longer Secretly Doubled > *Some bosses were meant to be strong.* > > *But too strong is not a surprise—it's a shock.* > > *Previously, the health and damage of certain bosses (such as the Ender Dragon and the Wither) were **stacked twice with the same multiplier**—not by design, but due to a small mistake in the order of reading values. The result: you thought you were facing a buffed boss, but in reality, you were facing a moving wall.* **💥 What we did:** - Corrected the reading order for "original values." It now checks in sequence: 1. Original values recorded in old saves (compatible with legacy saves) 2. True original values recorded before scaling 3. Default attributes for the entity type 4. Current base value as a fallback - Result: **Bosses are only buffed once**, and their values return to the level intended by design. > *The two ends of the scale have finally returned to their rightful places.* --- ## 🎁 3 · When a Nemesis Falls, It Leaves Behind Its Own Treasure > *You hunt a nemesis not to watch it fall.* > > *But for what it leaves behind after it falls.* > > *Starting with this version, when a nemesis dies, it can additionally drop loot tables you've configured—on top of vanilla drops, giving you a share of the "nemesis's legacy."* **🎁 How to use:** - **Ready to use out of the box**: Set `nemesisLootEnabled` to `true` in the config to experience the built-in example drops (diamonds, emeralds, golden apples, enchanted golden apples). - **Custom drops**: Advanced players can: - Write `nemesisLootTables` in the config, separating multiple loot table IDs with commas; - Or write a data pack directly, defining their own nemesis loot tables in `data/<namespace>/nemesis_loot/<name>.json`. - **Hot reload support**: After modifying the data pack, press F3+T to apply changes immediately without restarting the game. - **Safety fallback**: If one table errors, it won't affect the others; you won't lose all drops due to a single configuration mistake. **🎁 Other details:** - Nemesis identification is based on the existing `NEMESIS_TAG`, no additional configuration required. - TOML config and data pack config are merged and both take effect. - A built-in example data pack is located under `examples/datapack/` for direct reference. > *The nemesis's legacy is now defined by you.* --- <div align="center"> <h2>📋 Update Overview</h2> </div> ```diff + 🐉 Ender Dragon (with Champion modifier) health bar anomaly fixed + 🐉 Boss health now refills to true maximum health + 🐉 Added delayed health refill fallback; no imbalance even if scaling is skipped + 💥 Boss health/damage multipliers no longer stacked twice + 🎁 Nemesis drops configured loot tables on death (new feature) + 🎁 Supports TOML config + data pack + hot reload + 🎁 Built-in example loot tables, ready to experience out of the box - 🐉 Ender Dragon with less than 10% health bar - 💥 Secretly doubled Boss multipliers - 🎁 The emptiness of "Is that all?" after a nemesis falls ``` --- <div align="center"> <p><strong>⚖️ The scales are balanced, the nemesis is forged. ⚖️</strong></p> <blockquote> <p><em>"Every imbalance is a reminder."</em><br> <em>"Every fix is to bring battle back to what it should be."</em><br> <em>"May your nemesis be strong enough, and worthy enough."</em></p> </blockquote> <p> <a href="https://github.com/LOVE-U987/Adaptive-Nemesis"> <img src="https://img.shields.io/badge/⚖️_Adaptive_Nemesis_GitHub-181717?style=for-the-badge&logo=github&logoColor=white" alt="GitHub"> </a> </p> <p><em>✨ To every player who hunts their nemesis.</em><br></p> </div>
release

[AN]Adaptive Nemesis 1.0.16

1.0.16
30 авг. 2026 г.1,3 тыс.Minecraft: 1.21.1neoforge
Скачать
Что нового
# 📜 Adaptive Nemesis Changelog --- ## v1.0.16 (2026-08-30) 🎯 ### ⏳ Feature: Nemesis Auto-Despawn - **`NemesisConfig.java`**: Added 3 new config options: - `ENABLE_NEMESIS_AUTO_DISAPPEAR` — toggle on/off - `NEMESIS_AUTO_DISAPPEAR_SECONDS` — lifetime (default: 300s / 5 min) - `NEMESIS_DISAPPEAR_MESSAGE` — despawn notification message - **`NemesisSystem.java`**: Added `nemesisSpawnTimes` Map to track each nemesis spawn timestamp. New `onEntityTick()` periodically polls and auto-`discard()`s entities past their lifetime. - **`NemesisSystem.java`**: Records spawn time in both `convertToNemesis()` and `convertToNemesisManual()` — command-spawned nemeses are equally controlled. - **`zh_cn.json` / `en_us.json`**: New translation key `adaptive_nemesis.nemesis.disappear` - 🇨🇳 *"%s 已经消失了..."* - 🇬🇧 *"%s has disappeared..."* - **Effect**: Nemeses (natural spawn or command-summoned) automatically vanish after the configured duration, preventing performance bloat and gameplay imbalance from permanent stragglers. --- ### 🔧 Fix: Config Type Switched to `SERVER` — Multiplayer Sync - **`AdaptiveNemesisMod.java`**: Config registration changed from `COMMON` → `SERVER`. Server becomes config authority; NeoForge auto-syncs to all clients. - **`Config.java`**: Added `isServerSide()` environment check. `saveToFile()` now has server-side protection — multiplayer clients no longer attempt to write read-only configs. - **`AdaptiveNemesisConfigScreen.java`**: Added `readOnly` field. Multiplayer client controls are greyed out with a read-only hint to prevent accidental edits. - **`AdaptiveNemesisConfigScreen.java`**: `markChanged()` now has read-only guard — multiplayer clients are blocked from saving. - **`en_us.json` / `zh_cn.json`**: New localization key `readonly_hint` for the read-only tooltip. - ⚠️ **Note**: Config file renamed from `adaptive_nemesis-common.toml` → `adaptive_nemesis-server.toml`. Existing configs need manual migration. --- ### 💥 Fix: Enchantment Scaling Causing Save Crashes (Reconnect Failure) - **`EnchantmentScalingHandler.java`**: Resets enchantment caches on server shutdown (`resetCaches()` method) — prevents `Holder.Reference<Enchantment>` stale references from singleton pattern. - **`EnchantmentScalingHandler.java`**: Validates Holder validity in `applyCoreEnchantments()` with double-check on `ResourceKey` existence in server registry. - **`EnchantmentScalingHandler.java`**: Added `holder.isBound()` validation in `applyModCompatibleEnchantments()` to prevent network encoding failures. - **`InvasionSystem.java`**: Added Holder validation in `applyFrostWalkerBoots()` to prevent Frost Walker enchantment from causing network encoding exceptions. - **`ModEventHandler.java`**: Calls `EnchantmentScalingHandler.resetCaches()` on `ServerStoppingEvent`, ensuring stale references are purged on shutdown. - **`EnchantmentScalingHandler.java`**: Fixed `collectCompatibleEnchantments()` `Holder.unwrapKey()` API call. --- ### 🔄 Fix: Invasion Event Infinite Loop (Spawning More & More) - **`InvasionSystem.java`**: Added `playerInvasionCooldowns` Map tracking per-player cooldown (UUID → cooldown expiry timestamp). - **`InvasionSystem.java`**: Added cooldown check in `incrementUndeadKillCount()` — shows remaining time hint during cooldown period. - **`InvasionSystem.java`**: Auto-sets cooldown on invasion trigger (default: 15 min, configurable). - **`InvasionSystem.java`**: Clears cooldown in `handleInvasionVictory()`, allowing the next invasion to trigger normally. - **`zh_cn.json` / `en_us.json`**: New cooldown warning translations: - `cooldown_warning` - `cooldown_warning_minutes` - `cooldown_warning_seconds` - **`InvasionConfig.java`**: Existing `invasionCooldownMinutes` config (default: 15 min) — no new config needed. ---
release

[AN]Adaptive Nemesis 1.0.15

1.0.15
9 авг. 2026 г.343Minecraft: 1.21.1neoforge
Скачать
Что нового
# Adaptive Nemesis Changelog ⚔️🐉 --- ## v1.0.15 (2026-08-09) ### 🧙 Fixed: Iron's Spells spell resist / power scaling going haywire (non-Nemesis mobs were getting buffed too) - **Issue:** Every single mob in the world was getting spell resistance and spell power boosts — not just your personal Nemesis. This meant mages with multi-hit, low-cooldown, or summon-heavy builds saw their damage get chipped away mob-by-mob, even against random trash. Not fun. 😤 - **Fix — `IronsSpellsCompat.java`:** - `maxSpellPowerMultiplier` and `maxSpellResistMultiplier` were **dead configs** — the code never actually read them. Now `applyMobBuffs` properly clamps spell strength / casting resource multipliers to `maxSpellPowerMultiplier` (default 4.0) and spell resist multipliers to `maxSpellResistMultiplier` (default 3.0). Tweak `[enemyBonusCaps]` in `adaptive_nemesis-common.toml` and it actually does something! 🎛️ - Added **Nemesis-only check** in `applyMobBuffs` — spell resist / power / mana bonuses now only apply to mobs carrying the Nemesis NBT tag (`NemesisSystem.NEMESIS_TAG`). Regular mobs are left alone. Your fireball barrage can finally breathe against hordes. 🔥 - **New tag system — `NemesisSystem.java`:** - New constant `NEMESIS_TAG`. `convertToNemesis` / `convertToNemesisManual` now stamp mobs with this tag on transformation. - **Command fix — `SummonNemesisCommand.java`:** - `/an nemesis` spawned Nemeses also get the tag now. Consistency! 🏷️ - **Registration order fix — `AdaptiveNemesisMod.java`:** - Nemesis spawn system (`NemesisSystem`) now registers **before** the enemy scaling handler. This guarantees that when `EntityJoinLevelEvent` fires, the Nemesis conversion (tag stamping) happens **before** adaptive scaling kicks in. Previously it was registered in `commonSetup` — *after* `EnemyScalingHandler` — so Nemeses got treated as regular mobs and missed their spell bonuses. Order matters! ⏳ - **Smarter player assessment — `IronsSpellsCompat.java`:** - `getPlayerSpellStrength` now uses **max mana** (`AttributeRegistry.MAX_MANA`) instead of **current mana** to evaluate player spell power. No more random power dips because you just cast a big spell and your mana bar dropped — scaling stays stable. 📊 --- ## v1.0.15 (2026-08-09) ### 🖥️ Fixed: Config screen scroll animation stuttering & text flickering - **Issue:** Scrolling through the config menu felt like a slideshow — text jittered at ~20fps and flickered badly on lower-end setups. - **Fix — `AdaptiveNemesisConfigScreen.java`:** - Replaced janky tick-by-tick scroll jumps with proper `Mth.lerp(partialTick, lastScroll, currentScroll)` interpolation. Smooth 60fps buttery scrolling. 🧈 - `tick()` now records last-tick scroll position and snaps to target when close, killing animation tail wobble. - Cached translated `Component` objects for all 130+ config entries — no more creating translation objects every single frame. Less CPU burn, more frames. ⚡ - Scrollbar thumb position now syncs to the interpolated scroll value instead of raw tick position. The whole scroll experience just *flows* now. 🌊 --- *May your Nemesis fear your spells — and your config screen scroll smoothly.* 🏆✨
release

[AN]Adaptive Nemesis 1.0.14

1.0.14
7 авг. 2026 г.57Minecraft: 1.21.1neoforge
Скачать
Что нового
## Community feedback: Add a feature to disable certain parts and a blacklist for weapon equipment, which can be modified in the configuration interface
release

[AN]Adaptive Nemesis 1.0.13hotfix

1.0.13hotfix
6 авг. 2026 г.35Minecraft: 1.21.1neoforge
Скачать
Что нового
## Fix issue: InvasionCommand directly passes the custom object InvasionType to Component.translatable(...), resulting in serialization failure when the client receives the system_chat data packet, disconnection, and return to the title screen
release

[AN]Adaptive Nemesis 1.0.13

1.0.13
5 авг. 2026 г.43Minecraft: 1.21.1neoforge
Скачать
Что нового
## A small patch has been released to fix the issue with the /an invasion command in version 1.0.12
alpha

[AN]Adaptive Nemesis 1.0.12-forge

1.0.12-forge
3 авг. 2026 г.140Minecraft: 1.20.1forge
Скачать