
Fiw Bosses
A data-driven custom boss framework for Forge, NeoForge and Fabric Define multi-phase bosses and minions with configurable abilities entirely through JSON no coding, no restarts.
Список изменений
Changelog
All notable changes to this project are documented here. Each release's section below is used verbatim as the GitHub Release notes (the release workflow extracts the entry matching the tag).
[1.1.0]
⚠️ Major rewrite — expect bugs. This is the biggest change since the mod began, and it is still in progress. Because so much was rewritten, it is not fully tested — some abilities or mechanics may be broken or behave differently than before. Many mechanics will be play-tested and fixed before the main release, and small hotfixes / minor updates are expected afterwards. Please report anything broken on the issue tracker.
Added
- Mono-repo build replacing the old branch-per-loader layout — every target builds from one tree:
- Fabric & NeoForge for Minecraft 1.21.11, 1.21.8, and 1.21.1
- Fabric & Forge for Minecraft 1.20.1 (brand-new Forge module — NeoForge has no 1.20.1)
- The widest loader/version support of any release so far (8 targets), all sharing one feature set.
- More boss abilities — an expanded set of configurable abilities (52 in total).
- Six new configurable boss abilities, available on every supported Minecraft version and loader:
rift_cleave: wind-up line cleave with soul/sculk rift visuals, damage, width, range, knockback, linger, and taunt controls.fear_burst: Warden-inspired soul burst with Darkness, Weakness, Slowness, knockback, optional damage, and taunt support.mirror_image: temporary decoys with optional boss invisibility, periodic swaps, reappear effects, and optional reappear damage.sacrifice_minion: consumes owned minions to heal the boss and damage nearby players at the sacrificed minion location.last_breath: low-health interruptible channel that releases a large soul blast if players do not deal enough damage.wither_crown: orbiting wither skull crown that fires real wither skull projectiles one by one.
- Two new crowd-control abilities:
gravity_well: sucks players into a swirling well, lifts them with Levitation, then drops them with optional impact damage.shadow_clone: spawns fake boss copies that mirror the boss's disguise and skin, follow the boss, and apply an optional debuff on death.
- Four new defensive/survival abilities:
cleanse: strips all harmful effects off the boss and briefly blocks new debuffs.second_wind: one-shot auto-revive that negates a fatal blow and restores partial health, then re-arms after its cooldown.adaptation: passively grows resistant to whichever damage type (melee/projectile/magic/fire/explosion) has recently hurt the boss most.rewind: records position and health and snaps the boss back a few seconds when low — intentionally very strong, meant for long cooldowns.
- Vanilla mob visuals for FIW entities — bosses and custom minions can now look like vanilla/modded
mobs while still using FIW boss/minion logic. Use
renderEntityonbaseEntity: "custom"minions, or set a bossbaseEntity/renderEntityto a registry ID such asminecraft:zombie. - Vanilla mobs as simple minions — minions can still use true vanilla/modded entity types
(e.g.
baseEntity: "minecraft:zombie") for simple summons with custom stats, equipment, and loot. These keep native mob AI and are intentionally less customizable than FIW custom minions. - Optional Fiw Tools integration — reference Fiw Tools items by
toolIdin boss/phase/minion equipment and loot. Reflection-only, no hard dependency; skipped if Fiw Tools is absent.- Example configs under
examples/fiw_tools_integration/(Void Reaver boss plus its custom items).
- Example configs under
Changed
- Reworked several boss abilities and reworked minion/boss behavior (AI, targeting, movement modes, vanilla-mob handling).
- Clarified and documented the recommended minion setup: use
baseEntity: "custom"withrenderEntitywhen you want full FIW abilities/smart movement but a vanilla mob appearance. - Same JSON config format on every loader and version — and still backward-compatible with configs written for 1.0.9 and earlier (including the old item NBT format), so existing bosses keep working.
- Ability JSON docs were refreshed to match the current implementation, including
beam,domain,particle_tornado,phantom_dash,tracking_orb,moving_tornado,detect_mark,dodge, and the six new abilities. - Rewritten
README.mdwith current supported versions, module layout, ability list, install notes, commands, and build instructions. beamis now configurable while preserving previous defaults:particle,coreParticle, andmaxLength.particle_tornadonow has configurable visuals and behavior:particle,accentParticle,fire,fireSeconds,size/maxRadius,height,spinSpeed/rotationSpeed,twist,disks,damage, andduration.dodgenow supportstaunt, using the same nearby-player boss message style as other taunt-enabled abilities.- Added configurable smart movement modes for bosses and custom minions:
hit_and_run,guard_point,phase_walk,hover,sniper, andberserk. Existingside/normalstrafing remains the default, andvanilladisables the smart movement overlay. phase_walkuses collision-checked teleport destinations so the entity does not blink into blocks.- Large parts of the mod rewritten for performance and long-term maintainability; shared logic centralized
in a Minecraft-free
coreengine plus per-versioncommonsource sets. coreis bundled into every loader jar; Gson + SLF4J are compile-only (provided by Minecraft).
Fixed
/boss reloadcorrectly requires op level 3 (admins) again, instead of inheriting the level-2 gate of the root/bosscommand.- Client skin textures are now released when a boss/minion unloads (Fabric
ENTITY_UNLOAD, NeoForge/ForgeEntityLeaveLevelEvent), fixing a GPU texture/resource leak. domainno longer recasts immediately after ending. Domain cooldown now lives on the boss entity, survives goal rebuilds, supportsparams.cooldown, and defaults to at least 1800 ticks when not specified.domainspeed buffs are removed cleanly when the domain ends, so the boss returns to normal behavior.phantom_dashno longer teleports the boss into blocks on slopes or near walls. Dashes now clip against walls, snap to safe ground within a small vertical search, and fizzle in place if no safe landing exists.particle_tornadovisuals now actually read as a spinning funnel using per-disk helix twist and upward drift.- The 1.21.11 ability fixes were ported to 1.21.8, 1.21.1, and 1.20.1 with matching logic and JSON format.
renderEntity/ vanilla-mob disguises now work on every loader and version (Fabric & NeoForge 1.21.8 / 1.21.1, Fabric & Forge 1.20.1), not just 1.21.11. The disguise id is synced to clients (BossRenderPayload, or Forge'sBossRenderMessage, plus a client-side disguise registry), FIW boss/minion render states stay on the FIW renderer path and draw the vanilla disguise instead of falling back to Steve, and walk animation is copied onto the disguised mob — so configs such asrenderEntity: "minecraft:wither_skeleton"render correctly in real multiplayer/client worlds.- 1.21.8 disguises were drawn at a doubled camera offset (only the shadow showed, with no visible body); the disguise is now rendered at the boss's actual position.
Known issues
- Because this is a rewrite, some abilities/mechanics may be broken, untested, or inconsistent between loaders — bugs are expected, and fixes will follow in small updates.
- In-game testing is incomplete: configuration loading is verified on every target, but the abilities, persistence, vanilla-mob behavior, and Fiw Tools paths are not yet fully play-tested across all eight targets.
- The shared renderer is a "safe humanoid" model — slim arms and exact player outer layers are not yet matched.
- On 1.21.1 and 1.20.1,
renderEntitydisguised mobs render with static limbs while moving — limb-swing animation is only copied on 1.21.8 and 1.21.11. Orientation and tick-based idle motion still animate. - Player skins require an internet connection at server start (Mojang API lookup).
