Releases: Zhop0rez/BetterPlayerModel
Release list
PaperBPM 1.0.1 Beta
PaperBPM 1.0.1 Beta
- Potentially fixed an issue where a player joining with an empty model cache could fail to see models already selected by other players after the download completed.
- Added bounded model-state resynchronization after catalog delivery and after the final model transfer chunk is sent.
- The existing Better Player Model client protocol remains unchanged.
This is a beta release.
v1.1.4 - Rendering and Animation Fixes
Changes
- Fixed model flickering and incorrect depth/layer overlap on complex models, including hair, faces, clothing, and projectile geometry.
- Fixed movement animation transitions, including switching from forward sprinting to backward movement.
- Improved animation smoothness for model previews in menus and the inventory.
Builds
- Fabric 1.20.1
- Fabric 1.21.1
- Fabric 1.21.11
- Fabric 26.1.2
- Fabric 26.2
- Pure Java / NoNatives variants for each supported build
paper-v1.0
Beta Paper plugin for Better Player Model.
Enables server-side model synchronization without installing BPM mod on the server (STILL NEEDED ON CLIENT!). Supports model uploads, saved model selections, and synchronization between players.
Compatible with all (hopefully) modern Better Player Model builds.
it's beta tho. Please report any issues if found.
v1.1.3 - Name Tag Toggle
Changes
- Set release version to 1.1.3 across all supported Fabric builds.
- Removed the client chat warning shown when joining servers without the server-side YSM/BPM mod.
- Added a mod settings toggle for hiding/showing vanilla player name tags on players using custom models.
- Fixed name-tag rendering hooks for 1.21.11 / 26.x render-state branches to avoid startup mixin failures.
Builds
- Fabric 1.20.1
- Fabric 1.21.1
- Fabric 1.21.11
- Fabric 26.1.2
- Fabric 26.2
- Pure Java / NoNatives variants for each supported build
v1.1.2a - Default Model Fix
v1.1.2a - Bug fixes
Vanilla Player Default Model Bug: Fixed a bug where players without the mod (using vanilla clients) would initially render their vanilla skins, but after dying, switching dimensions, or rejoining, would incorrectly render with a blank/default YesSteveModel model. This was caused by the client incorrectly initializing the model state when copying the entity capability on respawn.
(All builds provided for 1.20.1, 1.21.1, 1.21.11, and 26.2, including pure-java/NoNatives variants)
Version 1.1.2 (Deadlock Fix)
Changelog
- Fixed critical server-side deadlock: Resolves an issue where a client disconnecting mid-sync would cause a permanent thread loop in ServerModelManager, eventually halting all model downloads for other players.
- Updated metadata: Corrected version strings to 1.1.2 across fabric.mod.json, build.gradle, and gradle.properties for all variants.
- Includes builds for 1.20.1, 1.21.1, 1.21.11, and 26.2 (Standard and Pure-Java/NoNatives).
v1.1.1c (26.2) - Dedicated Server Crash Fix
v1.1.1c (26.2) - Bug fixes
- Dedicated Server Crash Fix: Fixed an issue where the server would crash with a
ClassCastExceptionon join. A client-side mixin (EntityMixin) that implements player model components was incorrectly flagged as client-only inbetter_player_model.mixins.json, preventing it from applying on dedicated servers.
v1.1.1b (26.2) - Animations & Elytra Glow Fixes
v1.1.1b (26.2) - Bug fixes
This release contains 3 major fixes:
- Mount Animations: Fixed custom models not applying mounting animations correctly when riding entities.
- Flight Animations: Fixed fall flying (elytra) animations not triggering for custom models.
- Elytra Glow Fix: Fixed an issue introduced in 1.21.1 where custom elytra would always render with a 100% white spectral glowing outline.
v1.1.1a (26.2) - Configs Hotfix
Changelog (v1.1.1a)
Fixed
- ForgeConfigApiPort Integration: Restored and fully integrated ForgeConfigApiPort, allowing the mod's configuration settings (bandwidth limits, TTL, etc.) to be properly saved and loaded again.
v1.1.1 (26.2) - Performance & Network Fixes
- Performance & Memory Optimization:
- Fixed a severe GC (Garbage Collection) memory leak and client micro-stutters. Removed redundant bufferSource.initialize() calls in CustomPlayerItemInHandLayer that were breaking the batch rendering pipeline and causing massive RAM allocations every frame.
- Network & Synchronization:
- Optimized model network synchronization (Packet 03). The server now performs targeted partial syncs (only sending necessary model data) instead of broadcasting the entire model catalog every time a player joins or a model is updated, significantly reducing bandwidth and sync delays.
- Compliance (For pure-java / NoNatives builds only):
- Fully stubbed NativeLibLoader to prevent any attempts to load .dll/.so files. This ensures strict compliance with CurseForge's "no native binaries" policy.