# IImpactFrameManager > Single-fire anime-style impact-frame VFX. `gg.lode.lecternapi.api.manager.IImpactFrameManager` --- ## Signature ```java public interface IImpactFrameManager ``` --- ## Notes When triggered, the receiver's client freezes the current frame for ~200 ms and flattens the world to high-contrast black-and-white with procedural manga "concentration lines" (speed lines) bursting outward. Roles: - **Receiver** (the player whose client plays the effect. - **Target**) the focal subject. Its exact silhouette is outlined and filled as a luma matte so it pops against the flat backdrop; the streaks clear a focal "eye" around it. - **Source**, where the streaks burst from. If `null`, or equal to the receiver, the burst originates from the receiver's own camera (the receiver is the cause). Off-screen / behind-camera sources are clamped to the screen edge so the burst always comes from the correct direction. - **Strength**, how impactful the hit was; scales streak density, width and reach (typically `0.0`(`1.0`, may exceed 1). - **Invert**) `false` = light background (black ink), `true` = black background (white ink). Visual only, no entity damage, no world state. --- ## Methods ### triggerImpactFrame ```java void triggerImpactFrame(Player player) void triggerImpactFrame(Player receiver, Entity target) void triggerImpactFrame(Player receiver, @Nullable Entity target, @Nullable Entity source, float strength, boolean invert) ``` Fires a one-shot impact frame on the player's client with no focal target (camera-centred burst, default strength). Fire-and-forget. Fires an impact frame on `receiver` focused on `target`, with the burst originating from the receiver's camera and default strength. Fires a fully-specified impact frame on `receiver`. --- ### triggerImpactFrameNearby ```java void triggerImpactFrameNearby(Entity target, @Nullable Entity source, double radius, float strength, boolean invert) ``` Fires an impact frame for every player within `radius` blocks of `target` (in the target's world). Each such player is a receiver and experiences the burst from `source`'s direction relative to their own view; if `source` is that receiver, they are treated as the cause. | Parameter | Type | Description | |---|---|---| | `target` | `Entity` | the focal subject entity (required) | | `source` | `Entity` | the entity the streaks burst from, or `null` | | `radius` | `double` | block radius around the target to notify | | `strength` | `float` | impact magnitude (typically 0.0, 1.0) | | `invert` | `boolean` | `true` for the black-background variant | --- ## Example One hit, one frame: ```java IImpactFrameManager frames = LecternAPI.getApi().getImpactFrameManager(); frames.triggerImpactFrame(attacker, victim); ``` The long form gives you the source, the strength and an inverted flavour, and the nearby form fires it for everyone in range so a crowd sees the same hit: ```java frames.triggerImpactFrame(attacker, victim, attacker, 1.4f, false); frames.triggerImpactFrameNearby(victim, attacker, 24, 1f, false); ``` --- ## Related Pages - [[IExplosionManager]]. The explosion VFX