⭐️ClothesPlus⭐️ icon

⭐️ClothesPlus⭐️ 2.4.3

An easy to use Minecraft Clothes Plugin with unlimited ways of usage

Page 1
2.4.3 5 days ago
Small Fixes and New License System

We have added in a few small fixes and added in our new License System.

  • Fixed Hair Colour changing to cause NPC Dupe and also break creator after it duped itself
  • Updated PacketEvent API to 2.9.4
  • Can now use the plugin on 1.21.8


This is very important now. We have added in a license System to our plugin. This means, you will need to join discord and request for a license key till I fully setup up automatic license key send out.

We have done this due to many people still attempting to steal our plugin and leak it.

2.4.2 22 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 22 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 22 days ago
Page 1

minecraft

skin

skinrestorer

clothes

plugin

wardrobe