diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java index 96a96f6d..fcc51ce5 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java @@ -374,7 +374,9 @@ public class CosmeticUser { public boolean canEquipCosmetic(Cosmetic cosmetic) { if (!cosmetic.requiresPermission()) return true; - if (isInWardrobe() && WardrobeSettings.isTryCosmeticsInWardrobe()) return true; + if (isInWardrobe()) { + if (WardrobeSettings.isTryCosmeticsInWardrobe() && userWardrobeManager.getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return true; + } return getPlayer().hasPermission(cosmetic.getPermission()); } diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java index 177b2b3f..fd7be041 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java @@ -168,6 +168,15 @@ public class UserWardrobeManager { Runnable run = () -> { this.active = false; + // For Wardrobe Temp Cosmetics + for (Cosmetic cosmetic : user.getCosmetics()) { + MessagesUtil.sendDebugMessages("Checking... " + cosmetic.getId()); + if (!user.canEquipCosmetic(cosmetic)) { + MessagesUtil.sendDebugMessages("Unable to keep " + cosmetic.getId()); + user.removeCosmeticSlot(cosmetic.getSlot()); + } + } + // NPC if (user.hasCosmeticInSlot(CosmeticSlot.BALLOON)) user.getBalloonManager().sendRemoveLeashPacket(); PacketManager.sendEntityDestroyPacket(NPC_ID, viewer); // Success @@ -213,11 +222,6 @@ public class UserWardrobeManager { target.hideBossBar(bossBar); } - // For Wardrobe Temp Cosmetics - for (Cosmetic cosmetic : user.getCosmetics()) { - if (!user.canEquipCosmetic(cosmetic)) user.removeCosmeticSlot(cosmetic.getSlot()); - } - user.updateCosmetic(); }; run.run();