Poses currently snap on and off: a bone either has the emote's transform or the vanilla one.
Emotecraft-style emotes ease between them:
In: from the vanilla pose to the first keyframe, up to beginTick.
Out: from the last keyframe back to vanilla, between endTick and stopTick. For loops, returnTick is where they loop back to.
Replacing: when a new emote replaces a running one, from the old pose to the new one.
This needs the vanilla pose when the transform is applied (in PoseApplier, after vanilla's setupAnim), so the blend has to happen on the Fabric side, or core needs a way to describe "blend towards whatever vanilla had".
Until then, the loader holds the first and last keyframe values and the emote snaps on and off.
Poses currently snap on and off: a bone either has the emote's transform or the vanilla one.
Emotecraft-style emotes ease between them:
- **In:** from the vanilla pose to the first keyframe, up to `beginTick`.
- **Out:** from the last keyframe back to vanilla, between `endTick` and `stopTick`. For loops, `returnTick` is where they loop back to.
- **Replacing:** when a new emote replaces a running one, from the old pose to the new one.
This needs the vanilla pose when the transform is applied (in `PoseApplier`, after vanilla's `setupAnim`), so the blend has to happen on the Fabric side, or core needs a way to describe "blend towards whatever vanilla had".
Until then, the loader holds the first and last keyframe values and the emote snaps on and off.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Poses currently snap on and off: a bone either has the emote's transform or the vanilla one.
Emotecraft-style emotes ease between them:
beginTick.endTickandstopTick. For loops,returnTickis where they loop back to.This needs the vanilla pose when the transform is applied (in
PoseApplier, after vanilla'ssetupAnim), so the blend has to happen on the Fabric side, or core needs a way to describe "blend towards whatever vanilla had".Until then, the loader holds the first and last keyframe values and the emote snaps on and off.