![[AN]Adaptive Nemesis](https://cdn.modrinth.com/data/anacxDIl/f63c99aa9be78e31253e68c2c8368f95ea97d58e.gif)
[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.
Tags
Creators
Details
1.0.15
Compatibility
Changes
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:maxSpellPowerMultiplierandmaxSpellResistMultiplierwere dead configs — the code never actually read them. NowapplyMobBuffsproperly clamps spell strength / casting resource multipliers tomaxSpellPowerMultiplier(default 4.0) and spell resist multipliers tomaxSpellResistMultiplier(default 3.0). Tweak[enemyBonusCaps]inadaptive_nemesis-common.tomland 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/convertToNemesisManualnow stamp mobs with this tag on transformation.
- New constant
- Command fix —
SummonNemesisCommand.java:/an nemesisspawned 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 whenEntityJoinLevelEventfires, the Nemesis conversion (tag stamping) happens before adaptive scaling kicks in. Previously it was registered incommonSetup— afterEnemyScalingHandler— so Nemeses got treated as regular mobs and missed their spell bonuses. Order matters! ⏳
- Nemesis spawn system (
- Smarter player assessment —
IronsSpellsCompat.java:getPlayerSpellStrengthnow 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
Componentobjects 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. 🌊
- Replaced janky tick-by-tick scroll jumps with proper
May your Nemesis fear your spells — and your config screen scroll smoothly. 🏆✨
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:anacxDIl:lSgMJrCh"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:anacxDIl:lSgMJrCh"
}
