All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Yes Steve Model

Yes Steve Model

by TartaricAcid • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

The Yes Steve Model mod is a Minecraft Forge/Fabric/NeoForge mod that modifies the vanilla player model, using geckolib at its core, using Minecraft Bedrock Edition models and animation files. This allows players to customize player models and animations as they wish.

Platform Support

Versions 1.1.5 and earlier were written in pure Java and support the three major mainstream platforms and mobile platforms.

Since the encryption algorithm of the old versions written in Java was quickly cracked, starting from version 1.2.0, the core encryption and rendering parts are all written in C++. This greatly improves the rendering performance and security, but the multi-platform support is poor.

The system support situation is as follows:

System Client Server
Windows AMD64 ✅ ✅
Linux AMD64 ✅ ✅
Android AArch64 ✅ ❌
macOS (Intel) ❌ ❌
macOS (Apple Silicon) ❌ ❌

Introductory Videos

Text introduction

img1

The Yes Steve Model mod takes into account the mod needs of the server community, and adopts many designs suitable for the server environment, including but not limited to:

  1. Automatic synchronization of client models: When players enter the server, the server will automatically synchronize the models to the player's computer.
  2. Encrypted model files: All the models sent to the player client are encrypted binary files, effectively avoiding the problem of model theft!
  3. Model auth function: Models can be authorized separately, and only after the OP input command is authorized, a specific model can be used.
  4. Vanilla player model modification: Added default Steve and Alex models, both of which can automatically call the player skin display.

Simple customization function: The model customization function is extremely simple. You only need to place the model, textures and animation files in a specific folder, and input the reload command in the game to automatically load and synchronize. No need to write any configuration files!


For client players, it is also extremely simple to use. After the player enters the server for the first time and waits for more than ten seconds (time-consuming for model synchronization), he can use the shortcut key Alt + Y to open the following GUI:

img2

  • ① Model switching button: Click to switch to the corresponding model. If the icon in the upper right corner of the button is red, it means the model is not authorized. The number in the icon represents the number of materials that the model can switch.
  • ② Texture switching button: For models with multiple textures, click the left and right buttons to switch the model texture.
  • ③ Model category switching button: You can switch between all models, auth models and vanilla models (currently only Steve and Alex models

There are many authors who have published works on planetminecraft. You can follow them:

Additional Warning:

Please do not create any models that violate laws and regulations. This production team is also opposed to any form of R18/NSFW content creation! We have never participated in any related content creation!

请不要制作任何违反法律法规的模型,本制作组也反对任何形式的 R18 内容创作!也从未参与过任何相关内容创作!

Version 2.2.2+ uses C++ and VMP.

Although we have used digital signatures to avoid this as much as possible, there may still be false positives from some antivirus software.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.1.2
Neoforge
2d ago 1
26.1.2
Neoforge
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.1
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.20.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.1
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.20.1
Fabric
2d ago 1
1.20.x
Forge
2d ago 1
1.21.1
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.20.x
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.21.x
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.21
Fabric
2d ago 1
1.20.x
Forge
2d ago 1
1.20.x
Fabric
2d ago 1
1.19.2
Forge
2d ago 1
1.19.2
Fabric
2d ago 1
1.18.2
Forge
2d ago 1
1.18.2
Fabric
2d ago 1
1.16.5
Forge
2d ago 1
1.16.5
Fabric
2d ago 1
1.21.x
Neoforge
2d ago 1
1.21.x
Neoforge
2d ago 1
1.21.1
Fabric
2d ago 1
1.21
Fabric
2d ago 1
1.20.x
Forge
2d ago 1
1.20.x
Fabric
2d ago 1
1.19.2
Forge
2d ago 1
1.19.2
Fabric
2d ago 1
1.18.2
Forge
2d ago 1
1.18.2
Fabric
2d ago 1
1.16.5
Forge
2d ago 1
1.16.5
Fabric
2d ago 1
1.21.1
Fabric
2d ago 1
1.21
Fabric
2d ago 1
1.20.1
Fabric
2d ago 1
1.19.2
Fabric
2d ago 1
1.18.2
Fabric
2d ago 1
1.16.5
Fabric
2d ago 1
1.16.5
Forge
2d ago 1
1.21.1
Fabric
2d ago 1
1.21
Fabric
2d ago 1
1.21.1
Neoforge
2d ago 1
1.20.1
Forge
2d ago 1
1.20.1
Fabric
2d ago 1
1.19.2
Forge
2d ago 1
1.19.2
Fabric
2d ago 1
1.18.2
Forge
2d ago 1
1.18.2
Fabric
2d ago 1
1.16.5
Forge
2d ago 1
1.16.5
Fabric
2d ago 1
1.20.x
Forge
2d ago 1
1.20.x
Forge
2d ago 1
1.21.x
Neoforge
2d ago 1
1.20.x
Forge
2d ago 1
1.19.2
Forge
2d ago 1
1.18.2
Forge
2d ago 1
1.16.5
Forge
2d ago 1
1.21
Fabric
2d ago 1
1.20.x
Fabric
2d ago 1
1.19.2
Fabric
2d ago 1
1.18.2
Fabric
2d ago 1
1.16.5
Fabric
2d ago 1
1.20.x
Forge
2d ago 1
1.19.4
Forge
2d ago 1
1.19.2
Forge
2d ago 1
1.18.2
Forge
2d ago 1
1.16.5
Forge
2d ago 1
1.20.x
Fabric
2d ago 1
1.19.2
Fabric
2d ago 1
1.18.2
Fabric
2d ago 1
1.16.5
Fabric
2d ago 1
  • Fixed an issue where the RemotePlayer model was not rendering
  • Fixed an issue where the first-person arms were not rendering
# YSM 2.6.5 Changelog

  • Performance & Stability**
  • Fixed an issue where the game would freeze after long runtime on Linux and Android;
  • Improved renderer scheduling for slight performance gains, reducing load and power consumption on Android;
  • Optimized rendering of opaque models; improved model memory management;
  • Note: Once a model uses semi-transparent textures, rendering efficiency will drop significantly. It is recommended to minimize the use of transparency;

  • Compatibility**
  • Added support for Minecraft 26.1.2 NeoForge;
  • Automatically disables linked mod features when the linked mod version is too low (instead of crashing with an error);

  • Features**
  • Added configuration options to disable certain high-risk linked mod features;
  • For example, mods like Sophisticated Backpacks and Parkour that frequently change their core code;
  • Improved stability of the radial menu configuration UI;
  • Added support for lance animations; the animation category name is lance;

  • Bug Fixes**
  • Fixed an issue where some Molang events were not firing correctly;
  • Fixed incorrect pitch rotation not being applied to custom minecart models;
  • Fixed rotation anomalies in preview models and paper doll rendering in certain situations;
  • Fixed katana group positioning and TaCZ pistol animation issues for some models;
  • Fixed the issue where maids using YSM models would clip through entertainment blocks;

  • Model Updates**
  • Updated models: Mini Wine Fox, Holy Wine Fox, Elf Wine Fox, Survivor Wine Fox, K Snail;

# YSM 2.6.5 Changelog

  • Performance & Stability**
  • Fixed an issue where the game would freeze after long runtime on Linux and Android;
  • Improved renderer scheduling for slight performance gains, reducing load and power consumption on Android;
  • Optimized rendering of opaque models; improved model memory management;
  • Note: Once a model uses semi-transparent textures, rendering efficiency will drop significantly. It is recommended to minimize the use of transparency;

  • Compatibility**
  • Added support for Minecraft 26.1.2 NeoForge;
  • Automatically disables linked mod features when the linked mod version is too low (instead of crashing with an error);

  • Features**
  • Added configuration options to disable certain high-risk linked mod features;
  • For example, mods like Sophisticated Backpacks and Parkour that frequently change their core code;
  • Improved stability of the radial menu configuration UI;
  • Added support for lance animations; the animation category name is lance;

  • Bug Fixes**
  • Fixed an issue where some Molang events were not firing correctly;
  • Fixed incorrect pitch rotation not being applied to custom minecart models;
  • Fixed rotation anomalies in preview models and paper doll rendering in certain situations;
  • Fixed katana group positioning and TaCZ pistol animation issues for some models;
  • Fixed the issue where maids using YSM models would clip through entertainment blocks;

  • Model Updates**
  • Updated models: Mini Wine Fox, Holy Wine Fox, Elf Wine Fox, Survivor Wine Fox, K Snail;

# YSM 2.6.5 Changelog

  • Performance & Stability**
  • Fixed an issue where the game would freeze after long runtime on Linux and Android;
  • Improved renderer scheduling for slight performance gains, reducing load and power consumption on Android;
  • Optimized rendering of opaque models; improved model memory management;
  • Note: Once a model uses semi-transparent textures, rendering efficiency will drop significantly. It is recommended to minimize the use of transparency;

  • Compatibility**
  • Added support for Minecraft 26.1.2 NeoForge;
  • Automatically disables linked mod features when the linked mod version is too low (instead of crashing with an error);

  • Features**
  • Added configuration options to disable certain high-risk linked mod features;
  • For example, mods like Sophisticated Backpacks and Parkour that frequently change their core code;
  • Improved stability of the radial menu configuration UI;
  • Added support for lance animations; the animation category name is lance;

  • Bug Fixes**
  • Fixed an issue where some Molang events were not firing correctly;
  • Fixed incorrect pitch rotation not being applied to custom minecart models;
  • Fixed rotation anomalies in preview models and paper doll rendering in certain situations;
  • Fixed katana group positioning and TaCZ pistol animation issues for some models;
  • Fixed the issue where maids using YSM models would clip through entertainment blocks;

  • Model Updates**
  • Updated models: Mini Wine Fox, Holy Wine Fox, Elf Wine Fox, Survivor Wine Fox, K Snail;

# YSM 2.6.5 Changelog

  • Performance & Stability**
  • Fixed an issue where the game would freeze after long runtime on Linux and Android;
  • Improved renderer scheduling for slight performance gains, reducing load and power consumption on Android;
  • Optimized rendering of opaque models; improved model memory management;
  • Note: Once a model uses semi-transparent textures, rendering efficiency will drop significantly. It is recommended to minimize the use of transparency;

  • Compatibility**
  • Added support for Minecraft 26.1.2 NeoForge;
  • Automatically disables linked mod features when the linked mod version is too low (instead of crashing with an error);

  • Features**
  • Added configuration options to disable certain high-risk linked mod features;
  • For example, mods like Sophisticated Backpacks and Parkour that frequently change their core code;
  • Improved stability of the radial menu configuration UI;
  • Added support for lance animations; the animation category name is lance;

  • Bug Fixes**
  • Fixed an issue where some Molang events were not firing correctly;
  • Fixed incorrect pitch rotation not being applied to custom minecart models;
  • Fixed rotation anomalies in preview models and paper doll rendering in certain situations;
  • Fixed katana group positioning and TaCZ pistol animation issues for some models;
  • Fixed the issue where maids using YSM models would clip through entertainment blocks;

  • Model Updates**
  • Updated models: Mini Wine Fox, Holy Wine Fox, Elf Wine Fox, Survivor Wine Fox, K Snail;

# YSM 2.6.5 Changelog

  • Performance & Stability**
  • Fixed an issue where the game would freeze after long runtime on Linux and Android;
  • Improved renderer scheduling for slight performance gains, reducing load and power consumption on Android;
  • Optimized rendering of opaque models; improved model memory management;
  • Note: Once a model uses semi-transparent textures, rendering efficiency will drop significantly. It is recommended to minimize the use of transparency;

  • Compatibility**
  • Added support for Minecraft 26.1.2 NeoForge;
  • Automatically disables linked mod features when the linked mod version is too low (instead of crashing with an error);

  • Features**
  • Added configuration options to disable certain high-risk linked mod features;
  • For example, mods like Sophisticated Backpacks and Parkour that frequently change their core code;
  • Improved stability of the radial menu configuration UI;
  • Added support for lance animations; the animation category name is lance;

  • Bug Fixes**
  • Fixed an issue where some Molang events were not firing correctly;
  • Fixed incorrect pitch rotation not being applied to custom minecart models;
  • Fixed rotation anomalies in preview models and paper doll rendering in certain situations;
  • Fixed katana group positioning and TaCZ pistol animation issues for some models;
  • Fixed the issue where maids using YSM models would clip through entertainment blocks;

  • Model Updates**
  • Updated models: Mini Wine Fox, Holy Wine Fox, Elf Wine Fox, Survivor Wine Fox, K Snail;

# YSM 2.6.4 Changelog

  • Improved model object loading.

  • Fixed a crash caused by switching YSM models when installed alongside Touhou Little Maid.

  • Fixed incorrect Y-axis offset when riding boats, minecarts, and other vehicles while using a YSM model with Touhou Little Maid.

  • Improved molang struct creation logic.

  • Added a new configuration option merge_multiline_expr (see default model), which merges multi-line expressions within command keyframes.

  • This option is a fix for a BlockBench export issue.

  • Fixed abnormal rotation when replacing vehicle models from Immersive Aircraft and Simple Planes.

# YSM 2.6.4 Changelog

  • Improved model object loading.

  • Fixed a crash caused by switching YSM models when installed alongside Touhou Little Maid.

  • Fixed incorrect Y-axis offset when riding boats, minecarts, and other vehicles while using a YSM model with Touhou Little Maid.

  • Improved molang struct creation logic.

  • Added a new configuration option merge_multiline_expr (see default model), which merges multi-line expressions within command keyframes.

  • This option is a fix for a BlockBench export issue.

  • Fixed abnormal rotation when replacing vehicle models from Immersive Aircraft and Simple Planes.

# YSM 2.6.4 Changelog

  • Improved model object loading.

  • Fixed a crash caused by switching YSM models when installed alongside Touhou Little Maid.

  • Fixed incorrect Y-axis offset when riding boats, minecarts, and other vehicles while using a YSM model with Touhou Little Maid.

  • Improved molang struct creation logic.

  • Added a new configuration option merge_multiline_expr (see default model), which merges multi-line expressions within command keyframes.

  • This option is a fix for a BlockBench export issue.

  • Fixed abnormal rotation when replacing vehicle models from Immersive Aircraft and Simple Planes.
# YSM 2.6.4 Changelog

  • Improved model object loading.

  • Fixed a crash caused by switching YSM models when installed alongside Touhou Little Maid.

  • Fixed incorrect Y-axis offset when riding boats, minecarts, and other vehicles while using a YSM model with Touhou Little Maid.

  • Improved molang struct creation logic.

  • Added a new configuration option merge_multiline_expr (see default model), which merges multi-line expressions within command keyframes.

  • This option is a fix for a BlockBench export issue.

  • Fixed abnormal rotation when replacing vehicle models from Immersive Aircraft and Simple Planes.

# 2.6.3 Changelog

## Bug Fixes

  • Fixed an issue where a client-side model build failure could cause model synchronization to hang
  • Fixed an issue with the configuration interface displaying incorrectly
  • Fixed compatibility issues with the latest version of Sophisticated Backpacks
  • Removed the 32-layer nesting limit for model bones

## Feature Improvements

  • Added the ability for Bedrock animation controllers to invoke hardcoded control logic
  • Added sub-animation controllers
  • Allowed loading empty models
  • Improved renderer scheduling

## Animation & Model Updates

  • Added Mini Wine Fox model (Thanks: 白色北熊)
  • Added Wedding Wine Fox model (Thanks: 羊毛Official)
  • Added Nine-Tail Wine Fox model (Thanks: 星海境)
  • Added Tactical Wine Fox model (Thanks: 汽水弹珠Pixel)
  • Modified Wine Fox Car model (Thanks: 辣辣火鸡面)

## Animation Controller Updates

### Dynamic Controllers

By creating Bedrock controllers with specific name prefixes, you can add custom controllers to designated slots in YSM's animation pipeline. Controllers within the same group are sorted alphabetically by name and loaded in order; the later a controller appears, the higher its priority.

| Prefix | Example | Insertion Point (priority low → high) |
| :---------------------: | :--------------------------: | :--------------------------------------------------------------: |
| player.pre_parallel | player.pre_parallel_meow | Before all controllers |
| player.pre_main_ | player.pre_main_meow | Before player.main (main animation) |
| player.post_main_ | player.post_main_meow | After player.main (main animation) |
| player.pre_hold_ | player.pre_hold_meow | Before player.hold_offhand / player.hold_mainhand (hold) |
| player.post_hold_ | player.post_hold_meow | After player.hold_offhand / player.hold_mainhand (hold) |
| player.pre_swing_ | player.pre_swing_meow | Before player.swing (swing animation) |
| player.post_swing_ | player.post_swing_meow | After player.swing (swing animation) |
| player.pre_use_ | player.pre_use_meow | Before player.use (use animation) |
| player.post_use_ | player.post_use_meow | After player.use (use animation) |
| player.parallel | player.parallel_meow | End of the controller pipeline |

### Hardcoded State

A new built-in state named ysm-builtin has been added (must be added manually). When the animation controller enters this state, it invokes YSM's built-in hardcoded control logic (i.e., the behavior used when no Bedrock controller is present).

#### Example

In the main animation controller player.main, when v.idle_type equals 1, the idle animation is replaced with the flying animation.

#### Notes

  • The transition time of this state affects the hardcoded controller.
  • Particles, sound effects, and "on entry / on exit" expressions function normally in this state.
  • This state is treated as an empty state — animations within it will not play.
  • Molang script controllers function normally in this state.

### Empty State Chained Transitions

When the animation controller transitions to an empty state (a state with no animations), it will immediately re-evaluate transitions.

#### Example

Within a single frame, if the animation controller is in state A and the conditions for both A -> B -> C transitions are met, and B is an empty state:

  • Old behavior:** Only the A -> B transition is executed. On the next frame, conditions are re-evaluated, and B -> C is executed only if conditions are still met.
  • New behavior:** The A -> B -> C chained transition is executed within the same frame.

#### Notes

  • If a cyclic transition such as A -> B -> C -> A -> ... is detected, the controller will stop at the last state before the cycle begins (i.e., C).
  • During chained transitions, particles, sound effects, and "on entry / on exit" expressions of intermediate states function normally.

### Sub-Controllers

When a controller named {parent} transitions to a state named ysm-entry-{child}, it invokes the controller logic of {parent}.{child}. The state that triggers the sub-controller is called the "entry state".

#### Example

The player.main controller uses a player.main.idle sub-controller, which in turn nests a player.main.idle.type1 sub-controller.

#### Notes

  • The transition time of the entry state is ignored, but particles, sound effects, and "on entry / on exit" expressions function normally.
  • The entry state is treated as an empty state — animations within it will not play.
  • Each frame, the parent controller's transition conditions are checked first. If the entry state transitions to another state, the corresponding sub-controller is immediately invalidated and reset.
  • When a sub-controller is invalidated, the "on exit" expression of its current state functions normally.
  • Sub-controllers cannot use the ysm-builtin built-in state.
  • Sub-controllers can be nested up to 5 levels deep.

# 2.6.3 Changelog

## Bug Fixes

  • Fixed an issue where a client-side model build failure could cause model synchronization to hang
  • Fixed an issue with the configuration interface displaying incorrectly
  • Fixed compatibility issues with the latest version of Sophisticated Backpacks
  • Removed the 32-layer nesting limit for model bones

## Feature Improvements

  • Added the ability for Bedrock animation controllers to invoke hardcoded control logic
  • Added sub-animation controllers
  • Allowed loading empty models
  • Improved renderer scheduling

## Animation & Model Updates

  • Added Mini Wine Fox model (Thanks: 白色北熊)
  • Added Wedding Wine Fox model (Thanks: 羊毛Official)
  • Added Nine-Tail Wine Fox model (Thanks: 星海境)
  • Added Tactical Wine Fox model (Thanks: 汽水弹珠Pixel)
  • Modified Wine Fox Car model (Thanks: 辣辣火鸡面)

## Animation Controller Updates

### Dynamic Controllers

By creating Bedrock controllers with specific name prefixes, you can add custom controllers to designated slots in YSM's animation pipeline. Controllers within the same group are sorted alphabetically by name and loaded in order; the later a controller appears, the higher its priority.

| Prefix | Example | Insertion Point (priority low → high) |
| :---------------------: | :--------------------------: | :--------------------------------------------------------------: |
| player.pre_parallel | player.pre_parallel_meow | Before all controllers |
| player.pre_main_ | player.pre_main_meow | Before player.main (main animation) |
| player.post_main_ | player.post_main_meow | After player.main (main animation) |
| player.pre_hold_ | player.pre_hold_meow | Before player.hold_offhand / player.hold_mainhand (hold) |
| player.post_hold_ | player.post_hold_meow | After player.hold_offhand / player.hold_mainhand (hold) |
| player.pre_swing_ | player.pre_swing_meow | Before player.swing (swing animation) |
| player.post_swing_ | player.post_swing_meow | After player.swing (swing animation) |
| player.pre_use_ | player.pre_use_meow | Before player.use (use animation) |
| player.post_use_ | player.post_use_meow | After player.use (use animation) |
| player.parallel | player.parallel_meow | End of the controller pipeline |

### Hardcoded State

A new built-in state named ysm-builtin has been added (must be added manually). When the animation controller enters this state, it invokes YSM's built-in hardcoded control logic (i.e., the behavior used when no Bedrock controller is present).

#### Example

In the main animation controller player.main, when v.idle_type equals 1, the idle animation is replaced with the flying animation.

#### Notes

  • The transition time of this state affects the hardcoded controller.
  • Particles, sound effects, and "on entry / on exit" expressions function normally in this state.
  • This state is treated as an empty state — animations within it will not play.
  • Molang script controllers function normally in this state.

### Empty State Chained Transitions

When the animation controller transitions to an empty state (a state with no animations), it will immediately re-evaluate transitions.

#### Example

Within a single frame, if the animation controller is in state A and the conditions for both A -> B -> C transitions are met, and B is an empty state:

  • Old behavior:** Only the A -> B transition is executed. On the next frame, conditions are re-evaluated, and B -> C is executed only if conditions are still met.
  • New behavior:** The A -> B -> C chained transition is executed within the same frame.

#### Notes

  • If a cyclic transition such as A -> B -> C -> A -> ... is detected, the controller will stop at the last state before the cycle begins (i.e., C).
  • During chained transitions, particles, sound effects, and "on entry / on exit" expressions of intermediate states function normally.

### Sub-Controllers

When a controller named {parent} transitions to a state named ysm-entry-{child}, it invokes the controller logic of {parent}.{child}. The state that triggers the sub-controller is called the "entry state".

#### Example

The player.main controller uses a player.main.idle sub-controller, which in turn nests a player.main.idle.type1 sub-controller.

#### Notes

  • The transition time of the entry state is ignored, but particles, sound effects, and "on entry / on exit" expressions function normally.
  • The entry state is treated as an empty state — animations within it will not play.
  • Each frame, the parent controller's transition conditions are checked first. If the entry state transitions to another state, the corresponding sub-controller is immediately invalidated and reset.
  • When a sub-controller is invalidated, the "on exit" expression of its current state functions normally.
  • Sub-controllers cannot use the ysm-builtin built-in state.
  • Sub-controllers can be nested up to 5 levels deep.

# 2.6.3 Changelog

## Bug Fixes

  • Fixed an issue where a client-side model build failure could cause model synchronization to hang
  • Fixed an issue with the configuration interface displaying incorrectly
  • Fixed compatibility issues with the latest version of Sophisticated Backpacks
  • Removed the 32-layer nesting limit for model bones

## Feature Improvements

  • Added the ability for Bedrock animation controllers to invoke hardcoded control logic
  • Added sub-animation controllers
  • Allowed loading empty models
  • Improved renderer scheduling

## Animation & Model Updates

  • Added Mini Wine Fox model (Thanks: 白色北熊)
  • Added Wedding Wine Fox model (Thanks: 羊毛Official)
  • Added Nine-Tail Wine Fox model (Thanks: 星海境)
  • Added Tactical Wine Fox model (Thanks: 汽水弹珠Pixel)
  • Modified Wine Fox Car model (Thanks: 辣辣火鸡面)

## Animation Controller Updates

### Dynamic Controllers

By creating Bedrock controllers with specific name prefixes, you can add custom controllers to designated slots in YSM's animation pipeline. Controllers within the same group are sorted alphabetically by name and loaded in order; the later a controller appears, the higher its priority.

| Prefix | Example | Insertion Point (priority low → high) |
| :---------------------: | :--------------------------: | :--------------------------------------------------------------: |
| player.pre_parallel | player.pre_parallel_meow | Before all controllers |
| player.pre_main_ | player.pre_main_meow | Before player.main (main animation) |
| player.post_main_ | player.post_main_meow | After player.main (main animation) |
| player.pre_hold_ | player.pre_hold_meow | Before player.hold_offhand / player.hold_mainhand (hold) |
| player.post_hold_ | player.post_hold_meow | After player.hold_offhand / player.hold_mainhand (hold) |
| player.pre_swing_ | player.pre_swing_meow | Before player.swing (swing animation) |
| player.post_swing_ | player.post_swing_meow | After player.swing (swing animation) |
| player.pre_use_ | player.pre_use_meow | Before player.use (use animation) |
| player.post_use_ | player.post_use_meow | After player.use (use animation) |
| player.parallel | player.parallel_meow | End of the controller pipeline |

### Hardcoded State

A new built-in state named ysm-builtin has been added (must be added manually). When the animation controller enters this state, it invokes YSM's built-in hardcoded control logic (i.e., the behavior used when no Bedrock controller is present).

#### Example

In the main animation controller player.main, when v.idle_type equals 1, the idle animation is replaced with the flying animation.

#### Notes

  • The transition time of this state affects the hardcoded controller.
  • Particles, sound effects, and "on entry / on exit" expressions function normally in this state.
  • This state is treated as an empty state — animations within it will not play.
  • Molang script controllers function normally in this state.

### Empty State Chained Transitions

When the animation controller transitions to an empty state (a state with no animations), it will immediately re-evaluate transitions.

#### Example

Within a single frame, if the animation controller is in state A and the conditions for both A -> B -> C transitions are met, and B is an empty state:

  • Old behavior:** Only the A -> B transition is executed. On the next frame, conditions are re-evaluated, and B -> C is executed only if conditions are still met.
  • New behavior:** The A -> B -> C chained transition is executed within the same frame.

#### Notes

  • If a cyclic transition such as A -> B -> C -> A -> ... is detected, the controller will stop at the last state before the cycle begins (i.e., C).
  • During chained transitions, particles, sound effects, and "on entry / on exit" expressions of intermediate states function normally.

### Sub-Controllers

When a controller named {parent} transitions to a state named ysm-entry-{child}, it invokes the controller logic of {parent}.{child}. The state that triggers the sub-controller is called the "entry state".

#### Example

The player.main controller uses a player.main.idle sub-controller, which in turn nests a player.main.idle.type1 sub-controller.

#### Notes

  • The transition time of the entry state is ignored, but particles, sound effects, and "on entry / on exit" expressions function normally.
  • The entry state is treated as an empty state — animations within it will not play.
  • Each frame, the parent controller's transition conditions are checked first. If the entry state transitions to another state, the corresponding sub-controller is immediately invalidated and reset.
  • When a sub-controller is invalidated, the "on exit" expression of its current state functions normally.
  • Sub-controllers cannot use the ysm-builtin built-in state.
  • Sub-controllers can be nested up to 5 levels deep.

# 2.6.3 Changelog

## Bug Fixes

  • Fixed an issue where a client-side model build failure could cause model synchronization to hang
  • Fixed an issue with the configuration interface displaying incorrectly
  • Fixed compatibility issues with the latest version of Sophisticated Backpacks
  • Removed the 32-layer nesting limit for model bones

## Feature Improvements

  • Added the ability for Bedrock animation controllers to invoke hardcoded control logic
  • Added sub-animation controllers
  • Allowed loading empty models
  • Improved renderer scheduling

## Animation & Model Updates

  • Added Mini Wine Fox model (Thanks: 白色北熊)
  • Added Wedding Wine Fox model (Thanks: 羊毛Official)
  • Added Nine-Tail Wine Fox model (Thanks: 星海境)
  • Added Tactical Wine Fox model (Thanks: 汽水弹珠Pixel)
  • Modified Wine Fox Car model (Thanks: 辣辣火鸡面)

## Animation Controller Updates

### Dynamic Controllers

By creating Bedrock controllers with specific name prefixes, you can add custom controllers to designated slots in YSM's animation pipeline. Controllers within the same group are sorted alphabetically by name and loaded in order; the later a controller appears, the higher its priority.

| Prefix | Example | Insertion Point (priority low → high) |
| :---------------------: | :--------------------------: | :--------------------------------------------------------------: |
| player.pre_parallel | player.pre_parallel_meow | Before all controllers |
| player.pre_main_ | player.pre_main_meow | Before player.main (main animation) |
| player.post_main_ | player.post_main_meow | After player.main (main animation) |
| player.pre_hold_ | player.pre_hold_meow | Before player.hold_offhand / player.hold_mainhand (hold) |
| player.post_hold_ | player.post_hold_meow | After player.hold_offhand / player.hold_mainhand (hold) |
| player.pre_swing_ | player.pre_swing_meow | Before player.swing (swing animation) |
| player.post_swing_ | player.post_swing_meow | After player.swing (swing animation) |
| player.pre_use_ | player.pre_use_meow | Before player.use (use animation) |
| player.post_use_ | player.post_use_meow | After player.use (use animation) |
| player.parallel | player.parallel_meow | End of the controller pipeline |

### Hardcoded State

A new built-in state named ysm-builtin has been added (must be added manually). When the animation controller enters this state, it invokes YSM's built-in hardcoded control logic (i.e., the behavior used when no Bedrock controller is present).

#### Example

In the main animation controller player.main, when v.idle_type equals 1, the idle animation is replaced with the flying animation.

#### Notes

  • The transition time of this state affects the hardcoded controller.
  • Particles, sound effects, and "on entry / on exit" expressions function normally in this state.
  • This state is treated as an empty state — animations within it will not play.
  • Molang script controllers function normally in this state.

### Empty State Chained Transitions

When the animation controller transitions to an empty state (a state with no animations), it will immediately re-evaluate transitions.

#### Example

Within a single frame, if the animation controller is in state A and the conditions for both A -> B -> C transitions are met, and B is an empty state:

  • Old behavior:** Only the A -> B transition is executed. On the next frame, conditions are re-evaluated, and B -> C is executed only if conditions are still met.
  • New behavior:** The A -> B -> C chained transition is executed within the same frame.

#### Notes

  • If a cyclic transition such as A -> B -> C -> A -> ... is detected, the controller will stop at the last state before the cycle begins (i.e., C).
  • During chained transitions, particles, sound effects, and "on entry / on exit" expressions of intermediate states function normally.

### Sub-Controllers

When a controller named {parent} transitions to a state named ysm-entry-{child}, it invokes the controller logic of {parent}.{child}. The state that triggers the sub-controller is called the "entry state".

#### Example

The player.main controller uses a player.main.idle sub-controller, which in turn nests a player.main.idle.type1 sub-controller.

#### Notes

  • The transition time of the entry state is ignored, but particles, sound effects, and "on entry / on exit" expressions function normally.
  • The entry state is treated as an empty state — animations within it will not play.
  • Each frame, the parent controller's transition conditions are checked first. If the entry state transitions to another state, the corresponding sub-controller is immediately invalidated and reset.
  • When a sub-controller is invalidated, the "on exit" expression of its current state functions normally.
  • Sub-controllers cannot use the ysm-builtin built-in state.
  • Sub-controllers can be nested up to 5 levels deep.

# 2.6.2 Update Log

  • Fixed the issue where the ground could not be hidden in the animation preview interface
  • Fixed some issues with Accelerated Rendering and Iris rendering
  • Fixed model rendering loss issues
  • Model rendering loss when sleeping
  • Model rendering loss when switching to spectator mode after installing Free Cam mod
  • Added configuration option: Disable first-person animations from other mods
# 2.6.2 Update Log

  • Fixed the issue where the ground could not be hidden in the animation preview interface
  • Fixed some issues with Accelerated Rendering and Iris rendering
  • Fixed model rendering loss issues
  • Model rendering loss when sleeping
  • Model rendering loss when switching to spectator mode after installing Free Cam mod
  • Added configuration option: Disable first-person animations from other mods
# 2.6.2 Update Log

  • Fixed the issue where the ground could not be hidden in the animation preview interface
  • Fixed some issues with Accelerated Rendering and Iris rendering
  • Fixed model rendering loss issues
  • Model rendering loss when sleeping
  • Model rendering loss when switching to spectator mode after installing Free Cam mod
  • Added configuration option: Disable first-person animations from other mods
# 2.6.2 Update Log

  • Fixed the issue where the ground could not be hidden in the animation preview interface
  • Fixed some issues with Accelerated Rendering and Iris rendering
  • Fixed model rendering loss issues
  • Model rendering loss when sleeping
  • Model rendering loss when switching to spectator mode after installing Free Cam mod
  • Added configuration option: Disable first-person animations from other mods
# YSM 2.6.1 Changelog

  • Temporarily fixed first-person rendering issues with Better Combat and other mods
  • Fixed incorrect pose when holding an unplayed trumpet
# YSM 2.6.1 Changelog

  • Temporarily fixed first-person rendering issues with Better Combat and other mods
  • Fixed incorrect pose when holding an unplayed trumpet
# YSM 2.6.1 Changelog

  • Temporarily fixed first-person rendering issues with Better Combat and other mods
  • Fixed incorrect pose when holding an unplayed trumpet
# YSM 2.6.1 Changelog

  • Temporarily fixed first-person rendering issues with Better Combat and other mods
  • Fixed incorrect pose when holding an unplayed trumpet
# YSM 2.6.0 Release Notes


## Bug Fixes
  • Provided more detailed error messages on incompatible systems
  • Fixed the issue of repeated attribute synchronization when health is a non-integer value
  • Improved the handling logic of some synchronized attributes
  • Fixed rendering issues with translucent faces in encrypted models exported from version 2.2.1 and below
  • Fixed the roaming variable synchronization issue for vehicle models
  • Fixed crashes caused by other mods extending SlotType
  • Fixed the issue where some mods may cause potion effects to be null
  • Fixed the issue of async animation updates not working
  • Fixed the issue of ysm.in_shield_block_cooldown not working
  • Fixed the issue of arrow replacement not working in legacy encrypted models (requires manual cache deletion to take effect)
  • Fixed several client crash issues

## Performance Optimizations
  • Improved the handling logic of some synchronized attributes
  • Significantly improved the loading speed of zip models and legacy encrypted models
  • Significantly improved the encoding/decoding speed of PNG images
  • Optimized model audio processing performance
  • Added server-side config option AcceptSoundFX to optionally disable model audio loading, improving model loading speed and reducing bandwidth usage


## Feature Improvements

  • Improved UV handling
  • Mainly affects faces with UV size or area of 0
  • Scope: Encrypted models below version 2.2.1 and above version 2.5.4, and all unencrypted models
  • Drafted YSM UV specification: https://www.yuque.com/flrscn/uwdwcf/uap5og621pfqulm3
  • Added default texture name placeholder - for the /ysm model set command
  • Improved runtime environment detection, displaying a warning window in unsupported environments
  • Refined animation update context
  • No longer adds Jade information to entities with disabled models
  • Updated some language files
  • Updated new icons drawn by Blue Rose

## Animation and Model Updates

  • Added KLUO model

  • Default Fox Spirit model optimization and fixes
  • Optimized tacz gun usage animation, no longer causes issues in flight state (Thanks to @Chiyogami)
  • Changed Fox Spirit flight animation to helicopter style (Thanks to @Xiaomomo)
  • Added Large Fox Spirit model (Thanks to @Can't Stand Teacher)
  • Optimized and updated Magic Fox Spirit animation (Thanks to @Starry Sea)

  • New Molang variables:
  • Attack swing related Molang:
  • ysm.swinging: Boolean, returns true when the player is swinging
  • ysm.swing_time: Integer, returns the swing count when the player is swinging, usually within 10
  • ysm.swinging_arm: The swinging arm, main hand is 0, off hand is 1
  • ysm.attack_time: Float, attack windup counter; between 0-1, attack triggers when it reaches 1
  • query.rotation_to_camera: Consistent with Bedrock Edition usage, returns yaw and pitch of the player camera view
  • ctrl.tac_fire_mode: Returns the tacz fire mode string
  • ysm.hit_target_id: Returns the block or entity ID pointed at by the mouse cursor
  • ysm.hit_target_type: Returns the target type pointed at by the mouse cursor, returns block for blocks, entity for entities
  • ctrl.bcombat_attack_animation: Returns Better Combat attack animation, note that this animation does not distinguish between main/off hand, additional conditions are needed
  • Immersive Music mod related:
  • ctrl.im_pitch: Pitch, usually between 0-2
  • ctrl.im_volume: Volume, usually between 0-2
  • ctrl.im_current: Level intensity, range 0-1
  • ctrl.im_delta: Time elapsed since last note output (in milliseconds)
  • ctrl.im_time: Time elapsed since playback started (in milliseconds)
  • ctrl.iss_animation: Iron's Spells casting animation

## Mod Compatibility

### 1. Better Combat Mod

Better Combat can currently be implemented through the default swing animation, with no additional dedicated animations for now.

More refined Better Combat animations can be achieved by using ctrl.bcombat_attack_animation Molang with animation controllers.

Fixed several Better Combat compatibility issues:

  • Fixed the issue of weapon swinging not triggering animations
  • Fixed rendering issues in first-person view when shaders are enabled
  • Fixed the issue of swing animation not synchronizing in multiplayer games

### 2. Immersive Melodies Mod

Added dedicated im.animation.json animation file, containing default animations for 11 instruments.

Added 5 Molang variables related to current music playback for creating dynamic animations.

Thanks to @lucia2048 for creating the music animations.

### 3. Iron's Spells 'n Spellbooks

Added dedicated iss.animation.json animation file for Iron's Spells casting animations (extensible for compatibility with other addon mods).

Added 1 Molang variable related to current casting animation.

Thanks to @Acreia and @lucia2048 Sea for creating the casting animations.

# YSM 2.6.0 Release Notes


## Bug Fixes
  • Provided more detailed error messages on incompatible systems
  • Fixed the issue of repeated attribute synchronization when health is a non-integer value
  • Improved the handling logic of some synchronized attributes
  • Fixed rendering issues with translucent faces in encrypted models exported from version 2.2.1 and below
  • Fixed the roaming variable synchronization issue for vehicle models
  • Fixed crashes caused by other mods extending SlotType
  • Fixed the issue where some mods may cause potion effects to be null
  • Fixed the issue of async animation updates not working
  • Fixed the issue of ysm.in_shield_block_cooldown not working
  • Fixed the issue of arrow replacement not working in legacy encrypted models (requires manual cache deletion to take effect)
  • Fixed several client crash issues

## Performance Optimizations
  • Improved the handling logic of some synchronized attributes
  • Significantly improved the loading speed of zip models and legacy encrypted models
  • Significantly improved the encoding/decoding speed of PNG images
  • Optimized model audio processing performance
  • Added server-side config option AcceptSoundFX to optionally disable model audio loading, improving model loading speed and reducing bandwidth usage


## Feature Improvements

  • Improved UV handling
  • Mainly affects faces with UV size or area of 0
  • Scope: Encrypted models below version 2.2.1 and above version 2.5.4, and all unencrypted models
  • Drafted YSM UV specification: https://www.yuque.com/flrscn/uwdwcf/uap5og621pfqulm3
  • Added default texture name placeholder - for the /ysm model set command
  • Improved runtime environment detection, displaying a warning window in unsupported environments
  • Refined animation update context
  • No longer adds Jade information to entities with disabled models
  • Updated some language files
  • Updated new icons drawn by Blue Rose

## Animation and Model Updates

  • Added KLUO model

  • Default Fox Spirit model optimization and fixes
  • Optimized tacz gun usage animation, no longer causes issues in flight state (Thanks to @Chiyogami)
  • Changed Fox Spirit flight animation to helicopter style (Thanks to @Xiaomomo)
  • Added Large Fox Spirit model (Thanks to @Can't Stand Teacher)
  • Optimized and updated Magic Fox Spirit animation (Thanks to @Starry Sea)

  • New Molang variables:
  • Attack swing related Molang:
  • ysm.swinging: Boolean, returns true when the player is swinging
  • ysm.swing_time: Integer, returns the swing count when the player is swinging, usually within 10
  • ysm.swinging_arm: The swinging arm, main hand is 0, off hand is 1
  • ysm.attack_time: Float, attack windup counter; between 0-1, attack triggers when it reaches 1
  • query.rotation_to_camera: Consistent with Bedrock Edition usage, returns yaw and pitch of the player camera view
  • ctrl.tac_fire_mode: Returns the tacz fire mode string
  • ysm.hit_target_id: Returns the block or entity ID pointed at by the mouse cursor
  • ysm.hit_target_type: Returns the target type pointed at by the mouse cursor, returns block for blocks, entity for entities
  • ctrl.bcombat_attack_animation: Returns Better Combat attack animation, note that this animation does not distinguish between main/off hand, additional conditions are needed
  • Immersive Music mod related:
  • ctrl.im_pitch: Pitch, usually between 0-2
  • ctrl.im_volume: Volume, usually between 0-2
  • ctrl.im_current: Level intensity, range 0-1
  • ctrl.im_delta: Time elapsed since last note output (in milliseconds)
  • ctrl.im_time: Time elapsed since playback started (in milliseconds)
  • ctrl.iss_animation: Iron's Spells casting animation

## Mod Compatibility

### 1. Better Combat Mod

Better Combat can currently be implemented through the default swing animation, with no additional dedicated animations for now.

More refined Better Combat animations can be achieved by using ctrl.bcombat_attack_animation Molang with animation controllers.

Fixed several Better Combat compatibility issues:

  • Fixed the issue of weapon swinging not triggering animations
  • Fixed rendering issues in first-person view when shaders are enabled
  • Fixed the issue of swing animation not synchronizing in multiplayer games

### 2. Immersive Melodies Mod

Added dedicated im.animation.json animation file, containing default animations for 11 instruments.

Added 5 Molang variables related to current music playback for creating dynamic animations.

Thanks to @lucia2048 for creating the music animations.

### 3. Iron's Spells 'n Spellbooks

Added dedicated iss.animation.json animation file for Iron's Spells casting animations (extensible for compatibility with other addon mods).

Added 1 Molang variable related to current casting animation.

Thanks to @Acreia and @lucia2048 Sea for creating the casting animations.

# YSM 2.6.0 Release Notes


## Bug Fixes
  • Provided more detailed error messages on incompatible systems
  • Fixed the issue of repeated attribute synchronization when health is a non-integer value
  • Improved the handling logic of some synchronized attributes
  • Fixed rendering issues with translucent faces in encrypted models exported from version 2.2.1 and below
  • Fixed the roaming variable synchronization issue for vehicle models
  • Fixed crashes caused by other mods extending SlotType
  • Fixed the issue where some mods may cause potion effects to be null
  • Fixed the issue of async animation updates not working
  • Fixed the issue of ysm.in_shield_block_cooldown not working
  • Fixed the issue of arrow replacement not working in legacy encrypted models (requires manual cache deletion to take effect)
  • Fixed several client crash issues

## Performance Optimizations
  • Improved the handling logic of some synchronized attributes
  • Significantly improved the loading speed of zip models and legacy encrypted models
  • Significantly improved the encoding/decoding speed of PNG images
  • Optimized model audio processing performance
  • Added server-side config option AcceptSoundFX to optionally disable model audio loading, improving model loading speed and reducing bandwidth usage


## Feature Improvements

  • Improved UV handling
  • Mainly affects faces with UV size or area of 0
  • Scope: Encrypted models below version 2.2.1 and above version 2.5.4, and all unencrypted models
  • Drafted YSM UV specification: https://www.yuque.com/flrscn/uwdwcf/uap5og621pfqulm3
  • Added default texture name placeholder - for the /ysm model set command
  • Improved runtime environment detection, displaying a warning window in unsupported environments
  • Refined animation update context
  • No longer adds Jade information to entities with disabled models
  • Updated some language files
  • Updated new icons drawn by Blue Rose

## Animation and Model Updates

  • Added KLUO model

  • Default Fox Spirit model optimization and fixes
  • Optimized tacz gun usage animation, no longer causes issues in flight state (Thanks to @Chiyogami)
  • Changed Fox Spirit flight animation to helicopter style (Thanks to @Xiaomomo)
  • Added Large Fox Spirit model (Thanks to @Can't Stand Teacher)
  • Optimized and updated Magic Fox Spirit animation (Thanks to @Starry Sea)

  • New Molang variables:
  • Attack swing related Molang:
  • ysm.swinging: Boolean, returns true when the player is swinging
  • ysm.swing_time: Integer, returns the swing count when the player is swinging, usually within 10
  • ysm.swinging_arm: The swinging arm, main hand is 0, off hand is 1
  • ysm.attack_time: Float, attack windup counter; between 0-1, attack triggers when it reaches 1
  • query.rotation_to_camera: Consistent with Bedrock Edition usage, returns yaw and pitch of the player camera view
  • ctrl.tac_fire_mode: Returns the tacz fire mode string
  • ysm.hit_target_id: Returns the block or entity ID pointed at by the mouse cursor
  • ysm.hit_target_type: Returns the target type pointed at by the mouse cursor, returns block for blocks, entity for entities
  • ctrl.bcombat_attack_animation: Returns Better Combat attack animation, note that this animation does not distinguish between main/off hand, additional conditions are needed
  • Immersive Music mod related:
  • ctrl.im_pitch: Pitch, usually between 0-2
  • ctrl.im_volume: Volume, usually between 0-2
  • ctrl.im_current: Level intensity, range 0-1
  • ctrl.im_delta: Time elapsed since last note output (in milliseconds)
  • ctrl.im_time: Time elapsed since playback started (in milliseconds)
  • ctrl.iss_animation: Iron's Spells casting animation

## Mod Compatibility

### 1. Better Combat Mod

Better Combat can currently be implemented through the default swing animation, with no additional dedicated animations for now.

More refined Better Combat animations can be achieved by using ctrl.bcombat_attack_animation Molang with animation controllers.

Fixed several Better Combat compatibility issues:

  • Fixed the issue of weapon swinging not triggering animations
  • Fixed rendering issues in first-person view when shaders are enabled
  • Fixed the issue of swing animation not synchronizing in multiplayer games

### 2. Immersive Melodies Mod

Added dedicated im.animation.json animation file, containing default animations for 11 instruments.

Added 5 Molang variables related to current music playback for creating dynamic animations.

Thanks to @lucia2048 for creating the music animations.

### 3. Iron's Spells 'n Spellbooks

Added dedicated iss.animation.json animation file for Iron's Spells casting animations (extensible for compatibility with other addon mods).

Added 1 Molang variable related to current casting animation.

Thanks to @Acreia and @lucia2048 Sea for creating the casting animations.

# YSM 2.6.0 Release Notes


## Bug Fixes
  • Provided more detailed error messages on incompatible systems
  • Fixed the issue of repeated attribute synchronization when health is a non-integer value
  • Improved the handling logic of some synchronized attributes
  • Fixed rendering issues with translucent faces in encrypted models exported from version 2.2.1 and below
  • Fixed the roaming variable synchronization issue for vehicle models
  • Fixed crashes caused by other mods extending SlotType
  • Fixed the issue where some mods may cause potion effects to be null
  • Fixed the issue of async animation updates not working
  • Fixed the issue of ysm.in_shield_block_cooldown not working
  • Fixed the issue of arrow replacement not working in legacy encrypted models (requires manual cache deletion to take effect)
  • Fixed several client crash issues

## Performance Optimizations
  • Improved the handling logic of some synchronized attributes
  • Significantly improved the loading speed of zip models and legacy encrypted models
  • Significantly improved the encoding/decoding speed of PNG images
  • Optimized model audio processing performance
  • Added server-side config option AcceptSoundFX to optionally disable model audio loading, improving model loading speed and reducing bandwidth usage


## Feature Improvements

  • Improved UV handling
  • Mainly affects faces with UV size or area of 0
  • Scope: Encrypted models below version 2.2.1 and above version 2.5.4, and all unencrypted models
  • Drafted YSM UV specification: https://www.yuque.com/flrscn/uwdwcf/uap5og621pfqulm3
  • Added default texture name placeholder - for the /ysm model set command
  • Improved runtime environment detection, displaying a warning window in unsupported environments
  • Refined animation update context
  • No longer adds Jade information to entities with disabled models
  • Updated some language files
  • Updated new icons drawn by Blue Rose

## Animation and Model Updates

  • Added KLUO model

  • Default Fox Spirit model optimization and fixes
  • Optimized tacz gun usage animation, no longer causes issues in flight state (Thanks to @Chiyogami)
  • Changed Fox Spirit flight animation to helicopter style (Thanks to @Xiaomomo)
  • Added Large Fox Spirit model (Thanks to @Can't Stand Teacher)
  • Optimized and updated Magic Fox Spirit animation (Thanks to @Starry Sea)

  • New Molang variables:
  • Attack swing related Molang:
  • ysm.swinging: Boolean, returns true when the player is swinging
  • ysm.swing_time: Integer, returns the swing count when the player is swinging, usually within 10
  • ysm.swinging_arm: The swinging arm, main hand is 0, off hand is 1
  • ysm.attack_time: Float, attack windup counter; between 0-1, attack triggers when it reaches 1
  • query.rotation_to_camera: Consistent with Bedrock Edition usage, returns yaw and pitch of the player camera view
  • ctrl.tac_fire_mode: Returns the tacz fire mode string
  • ysm.hit_target_id: Returns the block or entity ID pointed at by the mouse cursor
  • ysm.hit_target_type: Returns the target type pointed at by the mouse cursor, returns block for blocks, entity for entities
  • ctrl.bcombat_attack_animation: Returns Better Combat attack animation, note that this animation does not distinguish between main/off hand, additional conditions are needed
  • Immersive Music mod related:
  • ctrl.im_pitch: Pitch, usually between 0-2
  • ctrl.im_volume: Volume, usually between 0-2
  • ctrl.im_current: Level intensity, range 0-1
  • ctrl.im_delta: Time elapsed since last note output (in milliseconds)
  • ctrl.im_time: Time elapsed since playback started (in milliseconds)
  • ctrl.iss_animation: Iron's Spells casting animation

## Mod Compatibility

### 1. Better Combat Mod

Better Combat can currently be implemented through the default swing animation, with no additional dedicated animations for now.

More refined Better Combat animations can be achieved by using ctrl.bcombat_attack_animation Molang with animation controllers.

Fixed several Better Combat compatibility issues:

  • Fixed the issue of weapon swinging not triggering animations
  • Fixed rendering issues in first-person view when shaders are enabled
  • Fixed the issue of swing animation not synchronizing in multiplayer games

### 2. Immersive Melodies Mod

Added dedicated im.animation.json animation file, containing default animations for 11 instruments.

Added 5 Molang variables related to current music playback for creating dynamic animations.

Thanks to @lucia2048 for creating the music animations.

### 3. Iron's Spells 'n Spellbooks

Added dedicated iss.animation.json animation file for Iron's Spells casting animations (extensible for compatibility with other addon mods).

Added 1 Molang variable related to current casting animation.

Thanks to @Acreia and @lucia2048 Sea for creating the casting animations.

  • Fixed a critical error in model loading

  • Fixed a critical error in model loading

  • Fixed a critical error in model loading

  • Fixed a critical error in model loading
Yes Steve Model Icon
Download Yes Steve Model
Select game version
Select platform