From e2a727864e6eb76ed6838bd51909aee9bc4968de Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Tue, 22 Aug 2023 09:50:23 -0500 Subject: [PATCH] fix: unchecked cosmetics in wardrobe showing unlocked in PAPI, resolves #123 --- .../src/main/java/com/hibiscusmc/hmccosmetics/gui/Menu.java | 2 +- .../hooks/placeholders/HMCPlaceholderExpansion.java | 2 +- .../java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/Menu.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/Menu.java index e4c6a45a..6af5f7fc 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/Menu.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/Menu.java @@ -197,7 +197,7 @@ public class Menu { if (user.hasCosmeticInSlot(cosmetic)) { title.append(Settings.getEquippedCosmeticColor()); } else { - if (user.canEquipCosmetic(cosmetic)) { + if (user.canEquipCosmetic(cosmetic, true)) { title.append(Settings.getEquipableCosmeticColor()); } else { title.append(Settings.getLockedCosmeticColor()); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/placeholders/HMCPlaceholderExpansion.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/placeholders/HMCPlaceholderExpansion.java index bfd46687..40ce6334 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/placeholders/HMCPlaceholderExpansion.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/placeholders/HMCPlaceholderExpansion.java @@ -124,7 +124,7 @@ public class HMCPlaceholderExpansion extends PlaceholderExpansion { return "INVALID_COSMETIC"; } } - return TranslationUtil.getTranslation("unlocked-cosmetic", String.valueOf(user.canEquipCosmetic(cosmetic))); + return TranslationUtil.getTranslation("unlocked-cosmetic", String.valueOf(user.canEquipCosmetic(cosmetic, true))); } case "equipped": if (placeholderArgs == null) { 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 09d9cf2c..2fdf98fb 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java @@ -432,8 +432,12 @@ public class CosmeticUser { } public boolean canEquipCosmetic(Cosmetic cosmetic) { + return canEquipCosmetic(cosmetic, false); + } + + public boolean canEquipCosmetic(Cosmetic cosmetic, boolean ignoreWardrobe) { if (!cosmetic.requiresPermission()) return true; - if (isInWardrobe()) { + if (isInWardrobe() && !ignoreWardrobe) { if (WardrobeSettings.isTryCosmeticsInWardrobe() && userWardrobeManager.getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return true; } return getPlayer().hasPermission(cosmetic.getPermission());