From 20532fbaf2ea1ddee6b84c1755145d0feaace070 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Wed, 19 Jul 2023 13:18:06 -0500 Subject: [PATCH] feat: slightly expanded api to equip and remove cosmetics in main API class --- .../hmccosmetics/api/HMCCosmeticsAPI.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java index 0b39e78f..d44cf6d1 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java @@ -1,11 +1,14 @@ package com.hibiscusmc.hmccosmetics.api; import com.hibiscusmc.hmccosmetics.cosmetic.Cosmetic; +import com.hibiscusmc.hmccosmetics.cosmetic.CosmeticSlot; import com.hibiscusmc.hmccosmetics.cosmetic.Cosmetics; import com.hibiscusmc.hmccosmetics.gui.Menu; import com.hibiscusmc.hmccosmetics.gui.Menus; import com.hibiscusmc.hmccosmetics.user.CosmeticUser; import com.hibiscusmc.hmccosmetics.user.CosmeticUsers; +import org.bukkit.Color; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.UUID; @@ -46,4 +49,32 @@ public class HMCCosmeticsAPI { public static Menu getMenu(String id) { return Menus.getMenu(id); } + + /** + * Equips a cosmetic to a player. You can use getUser and getCosmetic to get the CosmeticUser and Cosmetic to equip. + * @param user CosmeticUser to equip cosmetic to + * @param cosmetic Cosmetic to equip + */ + public static void equipCosmetic(@NotNull CosmeticUser user, @NotNull Cosmetic cosmetic) { + equipCosmetic(user, cosmetic, null); + } + + /** + * Equips a cosmetic to a player with a color. You can use getUser and getCosmetic to get the CosmeticUser and Cosmetic to equip. + * @param user CosmeticUser to equip cosmetic to + * @param cosmetic Cosmetic to equip + * @param color Color to apply to cosmetic + */ + public static void equipCosmetic(@NotNull CosmeticUser user, @NotNull Cosmetic cosmetic, @Nullable Color color) { + user.addPlayerCosmetic(cosmetic, color); + } + + /** + * Removes a cosmetic in cosmeticslot. + * @param user The user to remove the cosmetic from + * @param slot The slot to remove the cosmetic from + */ + public static void removeCosmetic(CosmeticUser user, CosmeticSlot slot) { + user.removeCosmeticSlot(slot); + } }