1.1.0
Compatibility
Changes
1.1.0
A ground-up overhaul. 1.0.0 was a settings list with two motion styles for Minecraft 26.1.2. 1.1.0 adds a new default motion system, a full in-game editor, shareable presets, and a small language for writing your own motion.
And it fixes the bugs that made the old version buggy
Minecraft and loader support
- Minecraft 26.3 (main build). A 26.2 build can also be made from the same source. 26.1.2 is no longer supported.
- Mod Menu is required to edit the Sway and Bobbing
- Rewrote the hand hook for the new first-person renderers:
ItemInHandRenderer.submitHandsWithItemsin 26.2 and the newFirstPersonHandsAndItemsRendererin 26.3. The old hook no longer exists in either version, so 1.0.0 would crash on startup there.
New: Viewmodel Studio (replaces the settings screen)
- A full editor with pages: General, Look Sway, Movement & Idle, Bob & Breath, Jump/Land, Code, Presets, Legacy Modes.
- Live preview: the right side of the screen stays clear so you watch your hand while editing.
- Every number has a slider and a box for typing an exact value. Everything has a tooltip. Long pages scroll.
- Preview buttons: Test Jump (a full jump and landing), Test Land, Big Land, and Look Test (scripted mouse path) so you can tune sway without moving.
- Jump/Land editor: springs per channel, air and fall poses, fall wobble list, events, and an action list you can add to, copy, reorder and remove from. The built-in style stays locked; "Create custom" starts from a template.
- Reset: puts everything back to the defaults (click twice).
- Opens from Mod Menu or a new keybind, Open Viewmodel Studio (Controls → Viewmodel Sway, unbound by default).
New: presets
- Save your whole setup (every setting, jump n' land and code) as a preset.
- Save, Save As, Load, Duplicate, Rename, Delete (Delete asks twice), and a read-only Default preset.
- Export to a
.jsonfile anywhere and Import one (file picker or drag and drop onto the editor). - Open Folder button for the presets folder.
- Your current setup is kept automatically between restarts.
- Exports DON'T include the built-in jump/land.
New: Code (your own motion)
- A small built-in language, written right in the editor and applied live as you type, with error messages that point to the line.
- Add your own motion (
x, y, z, pitch, yaw, roll, worldY), read what every built-in layer is doing (bob_y,look_pitch,jump_roll, ...) and scale or mute layers (bobMul,lookMul,jumpMul, ...). - 20 inputs (look speed, movement, speed, grounded, jumped, landed, fall height, air time, sprinting, crouching...).
- Variables that remember their value between frames, conditions (
a ? b : c,and,or,not), and math, noise and stateful helpers:spring(),smooth(),pulse(),timer(). - Code can't break the viewmodel: invalid math becomes 0 and outputs are clamped.
Fixes (bugs in 1.0.0)
- Sway direction depended on which way you faced. Walking forward could count as walking backward (e.g. facing west), which flipped movement sway and bob lean.
- Mouse sway grew out of control. The mouse sway slider multiplied the stored sway every frame, so values above 1.0 made it break and values below 1.0 faded it away.
- Springs wobbled or blew up at low FPS or on lag spikes. All springs now use an exact solution and behave the same at any frame rate. Had the same issue using DeltaTime coding Sway :)
- Motion ran too fast above 240 FPS.
- Bob and breathing got jittery the longer the game was open (timer precision loss).
- Big sway or landing kicks after respawning, teleporting, unpausing or switching back from third person.
- Jump animation played on slime blocks, explosions and knockback.
- Huge landing after getting off a ladder or out of water.
- Walk bob too slow for your speed: Minecraft's stored velocity is reduced by ground friction, so the mod saw about half your real speed. The new mode measures how far you actually moved.
- Possible startup crash from leftover template mixins targeting methods that can be renamed between versions. they gone
this mod is not obfuscated! MIT License applies.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:dLUOgXBp:MUS3Q0uj"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:dLUOgXBp:MUS3Q0uj"
}

