
⭐️ClothesPlus⭐️ 2.4.2
An easy to use Minecraft Clothes Plugin with unlimited ways of usage
Page 1
2.4.2
3 days ago
2.4.2 for 2.21.6 - 1.21.7
PacketEvents Bug Fix Update
Small update:
- Fixed PacketEvents UUID system not being read correctly
2.4.1
3 days ago
2.4.1 for 1.21.6 - 1.21.7
Support for 1.21.6-1.21.7
- PacketEvents update for 2.9.1
- Support for newer versions of minecraft
SR Deprecated, Bug Fixes, Changes in configs
ClothesPlus Changelog
Major Changes
- Removed SkinsRestorer dependency:
All code and logic related to SkinsRestorer have been removed. The plugin now exclusively uses the Paper API and MineSkin API for skin management.
Skin Reset Improvements
- Correct Mojang Skin Restoration:
The /clothes reset command now fetches and applies the player's real Mojang skin (not just Steve/Alex) by querying Mojang's session server using the player's UUID. - Force Skin Update:
After resetting a skin, the plugin now forces a visual update by hiding and showing the player, ensuring the skin change is visible to all players.
Thread Safety & Bukkit API Usage
- Main Thread Enforcement:
All Bukkit API calls (e.g., player.setPlayerProfile(...)) are now guaranteed to run on the main server thread using a runSync helper. - Asynchronous Handling:
All asynchronous operations (such as MineSkin API calls and Mojang session lookups) are handled off the main thread, with results applied on the main thread.
Error Handling & Logging
- Improved Directory Creation:
The ensureDir method now logs detailed errors if directory creation fails or if the directory is null. - Better Exception Handling:
All asynchronous tasks now include proper exception handling and user feedback.
Skin Type Auto-Detection
- Automatic Skin Type Detection:
The plugin now automatically detects the player's skin type ("classic" or "slim") by querying Mojang's session server and applies the correct skin type when uploading to MineSkin.
Code Quality
- Removed SkinsRestorer from Maven:
The SkinsRestorer dependency has been removed from pom.xml. - Refactored SkinManager and SkinProcessor:
Both classes have been updated to use only Paper API and MineSkin API, with improved thread safety and error handling.
Performance & Overlay Caching
- Overlay Path Caching:
Overlay/skin file scanning is now performed asynchronously and cached in memory. Overlay paths are never scanned on the main thread, eliminating major server lag from wardrobe/creator GUIs. - Direct Logic Calls:
Internal plugin actions (like applying/removing overlays) now call the underlying logic directly instead of routing through Bukkit commands, reducing stack depth and improving performance. - Busy/Cooldown Protections:
All async operations (especially skin changes) are protected by busy flags and cooldowns to prevent rapid re-entry and task spam.
Character Creator
- Stage and Option Cooldowns:
Added configurable cooldowns for stage switching and option changes in the character creator to prevent MineSkin/API spam. - Busy Flag for Async Changes:
Added a busy flag to block overlapping skin/hair/option changes, ensuring no changes are processed until the previous one is fully applied. - Async NPC Preview Sync:
NPC preview is now updated only after the player's skin is actually set, using a callback from MineSkin processing. - Session Isolation:
Fixed a bug where multiple players in the creator could affect each other's NPC preview. Each session now controls its own NPC.
Wardrobe GUI
- Anti-Spam Logic:
Added a busyPlayers set to prevent rapid/duplicate clicks and skin spamming in the wardrobe GUI., - Command Routing:
Clicking a skin/overlay in the wardrobe now triggers /clothes wear <path> (or /clothes remove <path>) exactly as if the player used the command, preventing MineSkin from being spammed., - Category Click Fix:
Fixed a bug where clicking a category icon would show a missing overlays error.
Overlay Menu
- Click Cooldown:
Added a per-player cooldown to prevent duplicate overlay application from multiple listeners or rapid clicks. - Error Handling:
Fixed NPEs and improved error messages for missing overlay data.
NPC Preview
- Preview Sync:
NPC preview now always matches the player's current skin, not the previous one, after any skin/overlay change. - Session Isolation:
Each preview session is now isolated per player, fixing cross-control bugs.
Outfits,
- Flexible Outfit Names:
Players can now save outfits with spaces and a wide range of characters. The plugin ensures safe handling for Minecraft skulls and storage, preventing errors with special or long names., - Validation:
Added validation for outfit names to allow only letters, numbers, spaces, and basic symbols, up to 32 characters.
Bugfixes & Improvements
- General:
- Improved error handling and user feedback throughout the plugin.
- Fixed race conditions and out-of-sync issues with skin/overlay application.
- Improved UX for creator and wardrobe navigation.
- All Bukkit API calls are now thread-safe.
These changes ensure that ClothesPlus is fully compatible with Paper and MineSkin, and that player skins are managed safely and correctly without SkinsRestorer.
Skin type is now auto-detected for best compatibility with player model
2.4.0
3 days ago
Page 1