adaptive_nemesis-1.0.16.jar
Curse Maven Snippet
What's new
π 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/offNEMESIS_AUTO_DISAPPEAR_SECONDSβ lifetime (default: 300s / 5 min)NEMESIS_DISAPPEAR_MESSAGEβ despawn notification message
NemesisSystem.java: AddednemesisSpawnTimesMap to track each nemesis spawn timestamp. NewonEntityTick()periodically polls and auto-discard()s entities past their lifetime.NemesisSystem.java: Records spawn time in bothconvertToNemesis()andconvertToNemesisManual()β command-spawned nemeses are equally controlled.zh_cn.json/en_us.json: New translation keyadaptive_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 fromCOMMONβSERVER. Server becomes config authority; NeoForge auto-syncs to all clients.Config.java: AddedisServerSide()environment check.saveToFile()now has server-side protection β multiplayer clients no longer attempt to write read-only configs.AdaptiveNemesisConfigScreen.java: AddedreadOnlyfield. 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 keyreadonly_hintfor 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) β preventsHolder.Reference<Enchantment>stale references from singleton pattern.EnchantmentScalingHandler.java: Validates Holder validity inapplyCoreEnchantments()with double-check onResourceKeyexistence in server registry.EnchantmentScalingHandler.java: Addedholder.isBound()validation inapplyModCompatibleEnchantments()to prevent network encoding failures.InvasionSystem.java: Added Holder validation inapplyFrostWalkerBoots()to prevent Frost Walker enchantment from causing network encoding exceptions.ModEventHandler.java: CallsEnchantmentScalingHandler.resetCaches()onServerStoppingEvent, ensuring stale references are purged on shutdown.EnchantmentScalingHandler.java: FixedcollectCompatibleEnchantments()Holder.unwrapKey()API call.
π Fix: Invasion Event Infinite Loop (Spawning More & More)
InvasionSystem.java: AddedplayerInvasionCooldownsMap tracking per-player cooldown (UUID β cooldown expiry timestamp).InvasionSystem.java: Added cooldown check inincrementUndeadKillCount()β shows remaining time hint during cooldown period.InvasionSystem.java: Auto-sets cooldown on invasion trigger (default: 15 min, configurable).InvasionSystem.java: Clears cooldown inhandleInvasionVictory(), allowing the next invasion to trigger normally.zh_cn.json/en_us.json: New cooldown warning translations:cooldown_warningcooldown_warning_minutescooldown_warning_seconds
InvasionConfig.java: ExistinginvasionCooldownMinutesconfig (default: 15 min) β no new config needed.
This mod has no additional files

