⭐️ClothesPlus⭐️ icon

⭐️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.
Note:
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

minecraft

skin

skinrestorer

clothes

plugin

wardrobe