From 57997bc7a6bd7c0135b509781fd3d15be5835a1c Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Tue, 6 Dec 2022 16:17:08 -0600 Subject: [PATCH] dyablemenu (wip) --- .../hmccosmetics/gui/special/DyeMenu.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 common/src/main/java/com/hibiscusmc/hmccosmetics/gui/special/DyeMenu.java diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/special/DyeMenu.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/special/DyeMenu.java new file mode 100644 index 00000000..17653d75 --- /dev/null +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/special/DyeMenu.java @@ -0,0 +1,46 @@ +package com.hibiscusmc.hmccosmetics.gui.special; + +import com.hibiscusmc.hmccosmetics.cosmetic.Cosmetic; +import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticArmorType; +import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBackpackType; +import com.hibiscusmc.hmccosmetics.user.CosmeticUser; +import com.hibiscusmc.hmccosmetics.util.misc.Adventure; +import com.hibiscusmc.hmccosmetics.util.misc.Placeholder; +import dev.triumphteam.gui.builder.item.ItemBuilder; +import dev.triumphteam.gui.guis.Gui; +import dev.triumphteam.gui.guis.GuiItem; +import net.kyori.adventure.text.Component; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +public class DyeMenu { + + // Yes, I do know how tacted on this feels. + + + public static void openMenu(CosmeticUser user, Cosmetic cosmetic) { + + ItemStack originalItem = null; + + if (cosmetic instanceof CosmeticBackpackType) originalItem = ((CosmeticBackpackType) cosmetic).getBackpackItem(); + if (cosmetic instanceof CosmeticArmorType) originalItem = ((CosmeticArmorType) cosmetic).getCosmeticItem(); + if (originalItem == null) return; + + Player player = user.getPlayer(); + final Component component = Adventure.MINI_MESSAGE.deserialize(Placeholder.applyPapiPlaceholders(player, "Dying Menu")); + Gui gui = Gui.gui(). + title(component). + rows(6). + create(); + + gui.setDefaultClickAction(event -> event.setCancelled(true)); + + gui.setItem(1, ItemBuilder.from(originalItem).asGuiItem()); + GuiItem guiItem = ItemBuilder.from(originalItem).asGuiItem(); + + gui.open(player); + + } + + +}