Skip to content

SlashBlade Resharped

BonsUnleashed edited this page Oct 8, 2026 · 4 revisions

SlashBlade: Resharped

Minecraft 1.20.1 / Forge: this page documents that build and its measurements. For the separate 171-control Minecraft 1.21.1 port, see Minecraft 1.21.1 NeoForge.

One control for SlashBlade: Resharped 1.9.65 (mod id slashblade), client-side: player animations stop recomputing the same pose up to 20 times per frame. The switch checks the code it would change against the tested build; another build is left untouched with one WARN line (see How the patches are applied).

Key Target Side Since Kind
slashblade_motion_update_memo SlashBlade: Resharped 1.9.65 CLIENT 1.0.30 opt

slashblade_motion_update_memo

Since: 1.0.30 · Target: SlashBlade: Resharped 1.9.65 · Side: CLIENT · Kind: opt

Mixins: MmdMotionPlayerMemoMixin, MmdPmdModelStampMixin

SlashBlade player animations stop recomputing the same pose up to 20 times per frame. SlashBlade animates sword attacks through PlayerAnimator with an MMD model of the player (12,824 vertices). PlayerAnimator asks for the pose of every body part and transform separately, about 20 times per frame per animated player, and each request recomputes the whole model for the same moment: bones, keyframes, IK and every vertex. A request that would repeat the last update of the same model with the same motion and time now keeps that result. The update writes only absolute values, so a repeat writes the same bits again; a motion with face morphs (they blend cumulatively), the look-at mode and any listener on the model's event bus always run the original, and every update clears the model's record, so a model shared by two players never answers for the other. Not in our pack: public value.

Idea: VMD Animation Cache (SlashBlade animation cache), idea text only

Measured: public value; not visible in this pack. Offline on the real classes (untransformed classes as the baseline, 11 interleaved rounds, median): an animated player's frame 1.52 -> 0.076 ms (76.2 -> 3.8 us per pose request, 20x), idle blade wielders sharing one time 17.6x per update; single updates and all-different times unchanged (1.01x, 1.03x); 40 random scenarios (39,283 updates incl. shared models, subclasses, listeners, look-at, face morphs, exceptions) left every bone, matrix and vertex bit-identical to the original.

Bons and Furious

Minecraft 1.20.1 / Forge 1.0.35

Compatibility

Controls by mod

Links

Clone this wiki locally