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
roamingvariable 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_cooldownnot 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
AcceptSoundFXto optionally disable model audio loading, improving model loading speed and reducing bandwidth usage
- Added server-side config option
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 setcommand - 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
taczgun 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)
- Optimized
-
New Molang variables:
- Attack swing related Molang:
ysm.swinging: Boolean, returns true when the player is swingingysm.swing_time: Integer, returns the swing count when the player is swinging, usually within 10ysm.swinging_arm: The swinging arm, main hand is 0, off hand is 1ysm.attack_time: Float, attack windup counter; between 0-1, attack triggers when it reaches 1
query.rotation_to_camera: Consistent with Bedrock Edition usage, returnsyawandpitchof the player camera viewctrl.tac_fire_mode: Returns the tacz fire mode stringysm.hit_target_id: Returns the block or entity ID pointed at by the mouse cursorysm.hit_target_type: Returns the target type pointed at by the mouse cursor, returnsblockfor blocks,entityfor entitiesctrl.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-2ctrl.im_volume: Volume, usually between 0-2ctrl.im_current: Level intensity, range 0-1ctrl.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
- Attack swing related Molang:
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
YSM 2.5.2 Version Update Log
Bug Fixes
- Fixed hand animation issues caused by old YSM encryption format
- Fixed potential disconnection issues during cross-server teleportation when running client-only
- Fixed abnormal head hiding functionality when compatible with Better Combat mod
- Corrected model background and foreground image size limits, now supporting maximum 260×450 pixels
- Fixed startup failures on some servers (especially Linux servers) due to irregular configuration directory path formats
- Server now displays accurate error messages when failing to read default models
- Fixed abnormal outline rendering when players are in both glowing and invisible states simultaneously
- Fixed abnormal GUI animation playback under specific conditions
- Fixed incorrect animation display when picking up maids with Carry On mod
- Fixed abnormal animation states when maids switch models
- Fixed issue where some Molang variables couldn't update properly when YSM wasn't installed on the server
- Fixed parameter parsing errors when using function expressions as parameters in Molang custom function calls
- Fixed incorrect Y-coordinate component handling in Molang functions for block information retrieval
- Fixed ZIP file reading failures under specific conditions
- Fixed compatibility issues with TaCZ Tweaks mod
Performance Optimizations
- Optimized animation update frequency for distant and invisible entities to reduce performance consumption
- Improved player attribute synchronization mechanism, effectively reducing server network bandwidth usage
- Added new server configuration option: Low Bandwidth Mode
- Automatic cleanup of invalid player roaming data on server to prevent excessive NBT data
- Added more memory safety features
- Changed client texture compression format to WebP, significantly reducing memory usage
New Features and Content Modifications
- Added support for Linux clients (Note: Client cannot run in virtual machine environments)
- Added support for Android clients
- Enhanced compatibility support for head-worn items
- Added compatibility for Simple Hat mod
- Improved entity matching mechanism for projectile and rideable entity models:
- Support for configuring multiple entity IDs
- Support for using entity tags for matching
- Added support for 7z compressed format models to resolve garbled text or reading failures with ZIP format
- Supports both model files and model packs
- When 7z compressed packages exceed 64MB, please disable "Solid Compression" and set "Solid Data Size" to no more than 64MB, then recompress
- Note: Larger solid data provides higher compression ratios but slower loading speeds
- Complete audio system reconstruction with the following improvements:
- Streaming decoding technology for significantly faster model loading and reduced memory usage
- Optimized Opus decoder for higher audio quality
- Added animation controller sound effect support
- Added audio loop playback functionality
- Refined audio playback context management for precise lifecycle control
- Maintains unchanged audio Molang function usage while significantly improving playback effects (see appendix documentation)
- Recommended to use YSM-specific Opus transcoding tool for optimal results
- Enhanced animation debugging features:
- Support for debugging remote players, maids, projectiles, and vehicle entities
- Use
Alt + Bkey combination to debug entities pointed by mouse - Added
/ysmclient debug <selector>command for precise entity matching and debugging - Added
/ysmclient molang execute <exp>command to execute Molang expressions on currently debugged entities
- New Molang variable:
q.delta_time - Optimized hardcoded controller scaling frames, disabling initial transition animations
- Added model blacklist functionality to block loading of specified default models
- Configuration file location:
<Game Directory>/yes_steve_model/blacklist.txt(file contains detailed instructions)
- Configuration file location:
- Added scroll functionality to carousel configuration interface, supporting mouse wheel and button operations
- Added YSM rendering control functionality for individual players
- Command format:
/ysm model disable <Player ID> [true | false]
- Command format:
- Added wine fox models: Little Wine Fox and Momo Wine Fox
- Added multiple sleeping animation effects for wine fox models (Creator: Little Momo)
Android Platform Compatibility and Optimization
- Support for FCL, ZL, and ZL2 launchers on Android systems
- Displays upgrade prompts in-game when outdated launcher versions are detected
- Added multiple mobile adaptation optimizations:
- Optimized carousel configuration interface button sizes for improved mobile device operation experience
- Added quick access buttons in pause menu (ESC interface) for skin changing, carousel configuration, and paper doll configuration interfaces
- Enlarged control points in paper doll configuration interface for easier scaling, positioning, and rotation adjustments
- Added reset button and show/hide toggle options for paper doll configuration interface
- Optimized system resource usage during model loading on Android
- Improved thread scheduling algorithms for Android systems
- Fixed issue where carousel animations couldn't be interrupted properly after installing Touch Controller mod
- Important Note:
- YSM and Java use independent memory pools, which may have memory competition relationship
- Allocating excessive memory to Java may cause insufficient available memory for YSM, please configure memory allocation reasonably
YSM 2.5.1 Update Log
Legacy Compatibility Fixes
- Models encrypted in ysm format from version 2.4.1 and earlier still use the legacy mechanism for hand animation playback logic
- Models encrypted in ysm format from versions 2.2.2 - 2.4.1 still use legacy rendering logic for 0-size UV
- New q.ground_speed moved to ysm.ground_speed2, restored legacy q.ground_speed
- Added button: Whether to prioritize displaying model ID, used to restore legacy model selection interface button name display
Bug Fixes
- Fixed conflict with Vic's Point Blank mod
- Fixed error caused by non-existent directory when reloading models
- Fixed iris shadow anomalies
- Fixed some issues with default Sta Bo model
- Fixed debug interface text overlap issue
- Model switching interface can now properly retain parent directory page count

