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
YSM 2.5.0 Update Log
Performance Optimization
- Optimized molang particle performance and improved random particle generation
- Added execution limits to particle generation, sound playing and other related molang to avoid abnormal multiple triggers
- These molang can now only be used in animation command keyframes, animation controller entry/exit sections, custom GUI and execute commands
- In multi-animation states of animation controllers, unapplied animations do not execute the above molang
- Lowered molang error log level, model reloading no longer generates extensive error logs in the background under normal circumstances
- Model synchronization mechanism optimization
- Changed from batch synchronization to real-time synchronization to avoid long waiting times for players
- Improved server-side model distribution order, prioritizing distribution of models based on proximity of surrounding players
- Optimized network congestion algorithm, initial model retrieval from server no longer occupies excessive bandwidth, preventing long unresponsive times or frequent disconnections when joining servers
- Changed client model mechanism to lazy loading, improving client model loading speed while avoiding impact on normal gameplay from bulk model loading
- Optimized model compression algorithm, transmitted model size can now be reduced by approximately 20%
- Added model synchronization information interface to view model sync and loading progress in real-time
- Used lazy loading cap to reduce client memory usage
Mod Compatibility
- Completed compatibility with Superb Warfare 1.20.1 forge / 1.21.1 neoforge
- Fixed issue where parcool mod animations don't terminate in first-person view
- Compatible with Fabric versions of Touhou Little Maid, TACZ and SlashBlade
- When Better Combat is installed, hide head only when rendering model in scene, no longer affecting iris shadows, inventory, and other mod's additional rendering
- Fixed compatibility issues with Replay mod, now can properly use Replay mod to export videos with animations
- Added TOP and Jade information display, now can show the model pack being used by the targeted player
- Added animation support for Create 6.x version's chain behaviors
Default Model Updates
- Built-in models moved to independent builtin directory
- Fixed TACZ Gatling gun animation error
- Improved fox animations, can now play random idle animations
- Improved fox ladder climbing animations
- Added new models: Astronaut Fox, Witch Fox, Shop Clerk Fox, Kung Fu Fox, Hanfu Fox
- Added New Year Hailuo and New Year Zhiban Fox models
- Added Sta Bo model
- Added default model boat, chest boat and minecart models
- Default models are now organized into subfolders for easier management and viewing
- Removed Qingluka's Alex model
- Fixed default controller model animations
Bug Fixes
- Fixed issue where models appeared with all black textures after joining server due to incorrect texture culling
- Increased waiting time before reminding about uninstalled YSM on server to 60s, avoiding false "YSM version mismatch" messages due to packet loss or network congestion
- Fixed issue where server couldn't exit normally when shutting down
- Fixed issues caused by some mods loading remote player entity on server side
- Fixed world corruption caused by improper server-side fake player archery in some cases
- Fixed key input detection issues, now properly detects key combinations
- Fixed occasional division by zero crash when opening wheel settings
- Rendering fixes
- Adjusted renderer creation phase to avoid conflicts with other mods
- Properly handle animation updates during single-player game pause
- Model preview animations in GUI are no longer affected by player state
- Don't disable preview rotation in TextureButton (because preview animations don't play)
- Fixed abnormal offset in maid preview in maid model selection interface
- Added
gui_no_lightingoption to model manifest, can disable ambient lighting when displayed in GUI - Fixed issue where model favorite flag was blocked by preview animation background
- Fixed GUI entities accidentally rendering name tags
- Fixed first-person arm turning black issue
- Fixed physics animation confusion in model selection interface and paper doll interface
New Features
-
On unsupported platforms or systems, disable mod functionality and send a prompt message instead of crashing the game
-
Multi-language support: Model names, descriptions, author names, wheel buttons, and wheel names can now be localized through language files
-
Enhanced model search functionality:
- Normal search covers model ID, name, text hints and author name
- @ prefix searches author only
- # prefix searches folder only
-
Subfolder categorized model design
- Model selection interface now displays subfolders in categories
- Subfolders support custom images and text
-
First-person animation support
- First-person supports animations and animation controllers
- First-person can use main animation's roaming variables
-
Projectile model replacement
- Can now replace any projectile model
- Supports custom animations and animation controllers
- When players throw projectiles, their roaming variables are copied to the projectile
-
Rideable entity model replacement
- Can now replace any entity model that players ride
- Supports custom animations and animation controllers
- When players ride entities, their roaming variables are copied to the entity
-
Added foreground and background image functionality to model selection interface
-
Model interface tooltips now show detailed information when holding Shift
Animation Fixes and Additions
- Fixed HOLD_ON_LAST_FRAME type animation issues, can now properly use HOLD_ON_LAST_FRAME animations
- Fixed issue where temporary default model had no animations when model wasn't fully loaded
- Fixed incorrect blending of transition animation rotation parameters in high-concurrency hardcoded animation controllers causing model twitching
- Fixed weighted scale blending behavior inconsistency with Blockbench
- Provided more detailed debug information for hardcoded animation controllers
- Fixed abnormal reset of swing and eating animations
- Rewrote animation ending transitions to allow smooth transitions of bone parameters between different animation controllers
- Changed all hand animations to file-controlled playback type
- Fixed various issues that may occur due to asynchronous animation updates crossing scopes
- Fixed roaming variable loss issue when player respawns
Molang Syntax Fixes and Additions
- Added command completion for molang custom functions
- Fixed command completion for v.* variables
- Added array access functionality (read-only, cannot create)
- Fixed error when last expression in Molang ExecutionScope ends with ';'
- Allow molang parameterless functions to be called like variable access
- Added molang custom function and event subscription system (see wiki custom function chapter)
- Added molang sync active synchronization mechanism (see wiki custom function chapter)
- Fixed incorrect execution results of molang functions for getting block information
- Reduced range for getting surrounding block information (from r<=8 to r<=5, to avoid overpowered ore-tracking models)
- Fixed synchronization issues for fly state, potion effects, player experience level, hunger, health, and max health
- Improved roaming and server attribute synchronization mechanism
- Each model now has independent roaming variable storage location. Previously saved roaming variables won't be lost when switching models repeatedly
- Added molang event-based animation controllers
- Improved molang stack memory implementation
- Improved floating-point handling in molang operations
- Improved context management for first and second-order physics systems
- Fixed q.position_delta variable issues
- Increased update rate for q.yaw_speed variable to fix instability in ysm.input_vertical/horizontal
- Added molang function ysm.relative_block_name_any
- Modified y-coordinate calculation in block information molang functions to maintain consistency with previous versions
- Added curios-related molang
- Improved output information of molang dump function
- Molang for getting potion effects and enchantments can now accept multiple parameters
- Added ctrl.playing_extra_animation variable, true when wheel animations are playing
- Fixed ctrl.hold issues
- ysm.throwable_item item type projectile's item ID
- ysm.hooked_in entity ID hooked by fishing rod, empty string when none exists
- ysm.is_biting boolean value, whether fishing rod is biting
- ysm.in_shield_block_cooldown boolean value, true when player successfully blocks and is in block cooldown (default cooldown duration is 5 ticks)
- Added ysm.play_sound and related molang
- Added brightness-related molang
- Added ctrl.set_beginning_transition_length function to modify animation transition duration
- Added ysm.mouse and ysm.keyboard molang to detect mouse and keyboard input states
- Added molang variable ysm.time_delta
Known Issues
- All maid roaming variables are invalid and cannot be persistently saved
- Maid statue animations only stay at the first frame and cannot play
- Models with vehicles will block first-person view



