ClothesPlus, Wardrobe Plugin v3.0.4

An easy to use Minecraft Clothes Plugin

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.

Bug fixes & 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.
  • Change /wardrobe to /npcpreview
    • Change /overlays to /wardrobe,
    • Updated Config.yml to add Mineskin Logging in Developer Section.,
    • Updated Creator.yml to match with the 2.4.0 Version
Update 2.3.1
Added ItemsAdder Resourcepack
Added in Rotate, no longer uses Q and Instead uses left click from mouse.
Fixed seeing _Prev on NPC. Forgot to remove in code.
Updated Navigation image in resource pack to show Mouseclick instead of Q Fixed some minor bugs
Added in API for Developers
API Wiki
CHANGELONG
  • Removed zNPCsPlus, ProtocolLib dependency
  • Replaced with PacketEvents 2.7.0 dependency
  • Changed 'Q' for NPC spin to Left-Click
  • Fixed console command set
Why Database instead of direct proxy support for Velocity and BungeeCord?
Simply cause its easier to manage your server's data filing inbetween multiple servers through MySQL securely instead of direct proxy hook, this essentially means you need to add the disableProxyMode.txt inside your SkinsRestorer plugin folder in order to disable proxy that is enabled automatically by Velocity / BungeeCord and add ClothesPlus.jar and SkinsRestorer.jar directly into your servers, not in your proxy-server.


Velocity and BungeeCord is now supported! Please read thoroughly through this announcement! Thanks for your patience and time.

05/05/2025
ClothesPlus-2.2.0 Changelog
  • Fixed Steve Format problem
  • Fixed /clothes add,remove error in console
  • Added MySQL Database Support [Velocity and BungeeCord is now supported]
  • Fixed PAPER-1.20 /overlays GUI not working


Wiki Updates:
Added a new page for configuring ClothesPlus for Velocity / BungeeCord
Wiki
[+] Fixed Steve Format not being detected
[+] Added testing version for Velocity / Bungee Users [MySQL Support]


Wiki Page for Velocity Setup
+ NEW ADDITION ON CONFIG.YML !
YAML:
# mySQL setup for Velocity/BungeeCord servers
mysql:
  enabled: false
  host: "127.0.0.1"
  port: 3306
  database: "clothesplus"
  username: "clothesuser"
  password: "changeme"
  pool-size: 10
  use-ssl: false
Full rewrite of the code, please check product page to see all the updates set in!

THIS VERSION requires you to delete your old ClothesPlus folder, and add the NEW dependencies it uses. PLEASE DON'T USE THIS ON PRODUCTION SERVERS, ONLY TEST SERVER. USE AT YOUR OWN RISK
Special thanks to Chronoken for updating the code quite a bit and helping with finding a fix for the outdated SR issue.

Now plugin support all latest versions of SR without it having a problem with loading it.
Buy a license now
$15.00
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 9% commission.
21,740 Views
127 Purchases
148 Downloads
Oct 9, 2023 Published
Mar 21, 2026 Updated
5.00 star(s)
Average rating (13)
10.6 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Velocity
Supported versions
  1. 1.21
  1. 1.20
Supported languages
  1. English
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creators
Owner
Support
Recommended for you
Now upload all of your skins on your GUI!
Not yet rated
19 purchases
Simple yet detailed server menu special for you!
3.00 star(s) 1 ratings
9 purchases
Custom reward GUIs with 5 variations included!
Not yet rated
3 purchases
Dynamic rewards GUI, including 11 variations to allow you to express yourself the best
Not yet rated
1 purchase
Simple yet powerful avatars base for GUI creators! [25 Avatars]
Not yet rated
2 purchases
Share and earn
Refer this resource and earn a 9% commission.
21,740 Views
127 Purchases
148 Downloads
Oct 9, 2023 Published
Mar 21, 2026 Updated
5.00 star(s)
Average rating (13)
10.6 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Velocity
Supported versions
  1. 1.21
  1. 1.20
Supported languages
  1. English
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creators
Owner
Support
Recommended for you
Now upload all of your skins on your GUI!
Not yet rated
19 purchases
Simple yet detailed server menu special for you!
3.00 star(s) 1 ratings
9 purchases
Custom reward GUIs with 5 variations included!
Not yet rated
3 purchases
Dynamic rewards GUI, including 11 variations to allow you to express yourself the best
Not yet rated
1 purchase
Simple yet powerful avatars base for GUI creators! [25 Avatars]
Not yet rated
2 purchases
Top