From 9dc2c23d0441b5631e50071b4c4ee5b65e0631e9 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Mon, 19 Jun 2023 13:19:24 -0500 Subject: [PATCH] feat: create HMCCosmeticsAPI class --- .../hmccosmetics/api/HMCCosmeticsAPI.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java new file mode 100644 index 00000000..0b39e78f --- /dev/null +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/HMCCosmeticsAPI.java @@ -0,0 +1,49 @@ +package com.hibiscusmc.hmccosmetics.api; + +import com.hibiscusmc.hmccosmetics.cosmetic.Cosmetic; +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.jetbrains.annotations.Nullable; + +import java.util.UUID; + +public class HMCCosmeticsAPI { + + /** + * Attempts to get a cosmetic from HMCCosmetics + * + * @param cosmetic Cosmetic Id + * @return A {@link Cosmetic} if exists or null if it does not + */ + @Nullable + public static Cosmetic getCosmetic(String cosmetic) { + return Cosmetics.getCosmetic(cosmetic); + } + + /** + * Attempts to get the CosmeticUser from an online user. If a player is offline it will return null. + * A player maybe online but not have a CosmeticUser attached to them, either from delay specified in the config + * or from a /reload. Always check if it's null! + * + * @param uuid Player Unique ID + * @return A {@link CosmeticUser} if exists or null if it does not + */ + @Nullable + public static CosmeticUser getUser(UUID uuid) { + return CosmeticUsers.getUser(uuid); + } + + /** + * Attempts to get a HMCCosmetics Menu. Returns null if no menu exists under that id. + * + * @param id Menu ID + * @return A {@link Menu} if exists or null if it does not + */ + @Nullable + public static Menu getMenu(String id) { + return Menus.getMenu(id); + } +}