promotional bannermobile promotional banner

Anomaly 666 - Superpowers

Anomaly 666 - superpower mod. Magic, Adventure, Mobs, Technology, Utility, PvP
Back to Files

Anomaly 666 v2.2 — The Inferno Grip Update

File nameanomaly666-2.2.jar
Uploader
DecsAceDecsAce
Uploaded
Oct 5, 2026
Downloads
13
Size
6.2 MB
Mod Loaders
Forge
File ID
9072915
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:anomaly-666-superpowers-1704701:9072915")

Learn more about Curse Maven

What's new

═══════════════════════════════════════════════════
🇬🇧 ENGLISH CHANGELOG
═══════════════════════════════════════════════════

v2.2 — The Inferno Grip Update

NEW ABILITY: INFERNO GRIP (7th power in the selector)
- Select INFERNO GRIP in the ability selector and hold Z to activate
- During the 2-second wind-up: all mobs within 80 blocks are violently pulled toward a point 6 blocks in front of you. Their noPhysics is disabled so they phase through terrain and can't hide behind walls
- After wind-up: the sphere ignites for 1.5 seconds. Every captured mob takes 160 damage per tick and is set on fire
- Fade-out lasts 0.75 seconds after release
- Cost: 400 energy on start + 20 energy per tick while active
- Custom arm pose: right arm extended forward horizontally, left arm relaxed
- Massive particle storm around the grab point — flames, lava, soul fire, campfire smoke, fireworks, occasional explosion
- Input rule: pitch is forcibly set to 0 while active (you're looking horizontally, not up/down)

NEW: SKY PIERCE FOR SPIKE (Aerial mode)
- Spike now has an aerial mode. When you aim at a flying mob (or a mob more than 10 blocks away) and press Z with Spike selected, a giant spike erupts from a random direction to impale the target from any angle
- Alt+Z with Spike selected now automatically detects whether the mob is grounded or flying: grounded mobs get a normal spike, aerial mobs get a Sky Pierce from a random angle
- Alt+RMB+Z mass eruption now handles BOTH grounded and aerial mobs in one cast: grounded ones get ground spikes, flying ones get Sky Pierce
- Spike direction is fully synchronized between client and server, so the visual always matches the hit
- Spike renderer now rotates the spike to match the direction vector, not just vertical

FIXED: INVISIBILITY (VISIBILITY OVERHAUL)
- Withers no longer see you. Previously the Wither's boss AI ignored the invisibility flag and kept targeting. Now their target and lastHurtByMob are cleared every tick
- Wardens no longer see you. Added Warden.clearAnger(player) call every tick in addition to clearing the target, so their anger meter fully resets instead of decaying
- Mobs can no longer pick you as a target through Mob.setTarget() — new mixin (MobTargetMixin) cancels setTarget for invisible players
- LivingEntity.canBeSeenAsEnemy() now returns false for invisible players — new mixin (LivingEntityVisibilityMixin). This means hostile AI that uses the standard visibility check will ignore you
- LivingChangeTargetEvent also cancels if the new target is an invisible player
- Invisibility duration is now properly tracked on BOTH server and client (new InvisibilityState class with SERVER_TIMER and CLIENT_TIMER maps) — no more desync where the client thinks it's still invisible while the server has already expired it
- Invisibility is now properly cleared if you disconnect while invisible
- Toggle cooldowns (1.8s on, 3s off) are now enforced on the client only, keeping the state machine simple
- Sound cue is broadcast to nearby players, not just the caster
- Removed unused client-only invisibility set that was never synced

FIXED: KI BLAST AND FIREBALL CAN NO LONGER HURT THE CASTER
- BlastEntity now overrides canHitEntity() and explicitly returns false for the owner. Previously the vanilla ThrowableProjectile check sometimes let your own blast collide with you right after spawn, dealing 45 damage to yourself
- FireballEntity already checked owner on entity sweep, but the collision path via explode() had an edge case where the owner could be caught in the explosion — owner is now explicitly excluded from AABB damage in every code path
- Blast explosion source is now the owner (was unowned), so explosion damage attribution is correct
- Visual explosion and block destruction are unchanged — you just no longer take your own damage

FIXED: FIREBREATH CRASH / NPE
- Firebreath block-scanning could throw NullPointerException when calling state.getCollisionShape(null, BlockPos.ZERO) — null Level was passed to the shape query
- Fixed by passing the actual ServerLevel and current BlockPos into getBurnTimeSeconds()
- Firebreath no longer crashes the game on certain modded blocks whose collision shape requires a valid level

IMPROVED: ENERGY SYNC PERFORMANCE
- EnergyManager now tracks the last synced value per player and only sends a SyncPacket when the value actually changes by more than 0.01
- Removed the unconditional per-tick sync — the energy bar now updates smoothly without spamming the network
- Added clearCache() and PlayerLoggedOutEvent handler — player energy and sync state are cleared on logout, preventing memory leaks on long-running servers

FIXED: KAMEHAMEHA RENDERER NPE
- getTextureLocation() was returning null. In some Forge builds this caused a NullPointerException in EntityRenderDispatcher when the game tried to resolve the texture
- Now returns a dummy vanilla texture (generic_0.png) that is never actually used, because the beam renders with RenderType.lightning()

IMPROVED: ABILITY SELECTOR
- Panel now correctly shows 1/7 through 7/7 as you cycle through the updated ability roster
- New Inferno Grip entry with its own cost display

FIXED: MISC
- Spike sound now plays correctly on both client and server
- Removed leftover X keybind registration from Kamehameha client events
- AbilityLock now has an INFERNO_GRIP slot
- ModNetwork now registers SpikeAerialPacket and InfernoGripPacket
- SpikeClientHandler now detects flying targets properly and routes them through Sky Pierce
- SpiritualBomb, Firebreath and Inferno Grip arm poses all use the unified AnimationHandler.syncSecondLayer() for consistent sleeve/armor animation

Known issues:
- Inferno Grip can cause a brief FPS dip on very large mob crowds (100+ entities captured at once)
- Sky Pierce spike visual may clip through tall blocks on the very first tick
- Energy HUD and ability selector positions are still fixed (bottom-left); config planned for 2.3

═══════════════════════════════════════════════════
🇷🇺 РУССКИЙ CHANGELOG
═══════════════════════════════════════════════════

v2.2 — Обновление «Хватка Инферно»

НОВАЯ СПОСОБНОСТЬ: ХВАТКА ИНФЕРНО (7-я в селекторе)
- Выбери ХВАТКУ ИНФЕРНО в селекторе способностей и удерживай Z
- Во время 2-секундной подготовки: все мобы в радиусе 80 блоков насильно притягиваются к точке в 6 блоках перед тобой. Их noPhysics отключается, поэтому они проходят сквозь рельеф и не могут спрятаться за стенами
- После подготовки: сфера воспламеняется на 1.5 секунды. Каждый захваченный моб получает 160 урона за тик и поджигается
- Затухание длится 0.75 секунды после отпускания
- Стоимость: 400 энергии на старт + 20 энергии за тик при активности
- Кастомная поза руки: правая рука вытянута вперёд горизонтально, левая расслаблена
- Массивный шторм частиц вокруг точки захвата — пламя, лава, духовный огонь, дым костра, фейерверки, редкие взрывы
- Особенность управления: pitch принудительно устанавливается в 0, пока способность активна (ты смотришь горизонтально)

НОВОЕ: НЕБЕСНЫЙ ПРОБОЙ ДЛЯ ШИПА (воздушный режим)
- У шипа теперь есть воздушный режим. Когда целишься в летающего моба (или моба дальше 10 блоков) и нажимаешь Z с выбранным Шипом, гигантский шип вылетает со случайного направления и пронзает цель под любым углом
- Alt+Z с Шипом теперь автоматически определяет, на земле моб или в воздухе: наземные получают обычный шип, воздушные — Небесный пробой со случайного угла
- Alt+ПКМ+Z массовое извержение теперь обрабатывает И наземных, И воздушных мобов за один каст
- Направление шипа полностью синхронизировано между клиентом и сервером
- Рендерер шипа теперь вращает его в соответствии с вектором направления

ИСПРАВЛЕНО: НЕВИДИМОСТЬ (ПОЛНАЯ ПЕРЕРАБОТКА)
- Визеры больше тебя не видят — их цель и lastHurtByMob очищаются каждый тик
- Вардены больше тебя не видят — добавлен вызов Warden.clearAnger(player) каждый тик, шкала ярости полностью сбрасывается
- Мобы больше не могут выбрать тебя целью через Mob.setTarget() — новый миксин MobTargetMixin
- LivingEntity.canBeSeenAsEnemy() теперь возвращает false для невидимых игроков — новый миксин LivingEntityVisibilityMixin
- LivingChangeTargetEvent также отменяется для невидимых игроков
- Длительность невидимости корректно отслеживается И на сервере, И на клиенте (новый класс InvisibilityState) — нет рассинхрона
- Невидимость корректно снимается при выходе из игры
- Кулдауны переключения (1.8 сек на включение, 3 сек на выключение) применяются только на клиенте
- Звук слышат все игроки рядом
- Удалён неиспользуемый клиентский набор невидимости

ИСПРАВЛЕНО: КИ-БЛАСТ И ОГНЕННЫЙ ШАР БОЛЬШЕ НЕ РАНЯТ КАСТЕРА
- BlastEntity теперь переопределяет canHitEntity() и явно возвращает false для владельца — больше не наносит 45 урона самому себе сразу после спавна
- FireballEntity — владелец явно исключён из AABB-урона во всех ветках взрыва
- Источник взрыва ки-бласта теперь владелец (был без владельца)
- Визуал взрыва и разрушение блоков не изменились

ИСПРАВЛЕНО: КРАШ / NPE ОГНЕННОГО ДЫХАНИЯ
- Было: state.getCollisionShape(null, BlockPos.ZERO) — null Level передавался в запрос формы → NPE
- Исправлено: передаётся настоящий ServerLevel и текущий BlockPos
- Огненное дыхание больше не крашит на модовых блоках

УЛУЧШЕНО: ПРОИЗВОДИТЕЛЬНОСТЬ СИНХРОНИЗАЦИИ ЭНЕРГИИ
- EnergyManager теперь отслеживает последнее синхронизированное значение и отправляет SyncPacket только когда значение реально изменилось больше чем на 0.01
- Убрана безусловная синхронизация каждый тик — без спама сети
- Добавлен clearCache() и обработчик PlayerLoggedOutEvent — очистка при выходе, нет утечек памяти

ИСПРАВЛЕНО: NPE В РЕНДЕРЕРЕ КАМЕХАМЕХИ
- getTextureLocation() возвращал null → NPE в EntityRenderDispatcher
- Теперь возвращает фиктивную ванильную текстуру (generic_0.png)

УЛУЧШЕНО: СЕЛЕКТОР СПОСОБНОСТЕЙ
- Панель теперь корректно показывает 1/7 — 7/7
- Новая запись Хватка Инферно со своей стоимостью

ИСПРАВЛЕНО: РАЗНОЕ
- Звук шипа теперь играется корректно и на клиенте, и на сервере
- Убрана забытая регистрация клавиши X в клиентских событиях камехамехи
- В AbilityLock добавлен слот INFERNO_GRIP
- ModNetwork регистрирует SpikeAerialPacket и InfernoGripPacket
- SpikeClientHandler корректно определяет летающие цели и направляет их через Небесный пробой
- Позы рук для духовной бомбы, огненного дыхания и Хватки Инферно используют единый AnimationHandler.syncSecondLayer()

Известные проблемы:
- Хватка Инферно может вызвать просадку FPS при очень больших толпах мобов (100+ сущностей)
- Визуал шипа Небесного пробоя может первый тик пересекаться с высокими блоками
- Позиции HUD энергии и селектора всё ещё фиксированы (слева внизу); конфиг в 2.3

This mod has no additional files