From cf0ca3d8cb711ebf14272beea4afd344661caf61 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 4 Mar 2026 10:01:33 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Add=20color=20code=20?= =?UTF-8?q?and=20tooltip=20lore=20to=20GUI=20Return=20buttons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: acsoto <59144459+acsoto@users.noreply.github.com> --- .../main/java/com/mcatk/acshop/ShopGui.java | 5 ++++- .../java/com/mcatk/acshop/ShopListener.java | 22 +++++++++++-------- .../com/mcatk/medalcabinet/MedalsGui.java | 17 ++++++++++---- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/modules/AcShop/src/main/java/com/mcatk/acshop/ShopGui.java b/modules/AcShop/src/main/java/com/mcatk/acshop/ShopGui.java index e2d5556..51f06bb 100644 --- a/modules/AcShop/src/main/java/com/mcatk/acshop/ShopGui.java +++ b/modules/AcShop/src/main/java/com/mcatk/acshop/ShopGui.java @@ -77,7 +77,10 @@ private void addPriceLore(ItemStack icon, String id, int price) { private ItemStack getQuitIcon() { ItemStack icon = new ItemStack(Material.GOLD_NUGGET); ItemMeta meta = icon.getItemMeta(); - meta.setDisplayName("返回"); + meta.setDisplayName("\u00a7e返回"); + ArrayList lore = new ArrayList<>(); + lore.add("\u00a77点击返回主菜单"); + meta.setLore(lore); icon.setItemMeta(meta); return icon; } diff --git a/modules/AcShop/src/main/java/com/mcatk/acshop/ShopListener.java b/modules/AcShop/src/main/java/com/mcatk/acshop/ShopListener.java index 5c59f3a..721a790 100644 --- a/modules/AcShop/src/main/java/com/mcatk/acshop/ShopListener.java +++ b/modules/AcShop/src/main/java/com/mcatk/acshop/ShopListener.java @@ -16,17 +16,21 @@ public void onInventoryClick(InventoryClickEvent event) { if (event.getWhoClicked() instanceof Player) { ItemStack icon = event.getCurrentItem(); event.setCancelled(true); - if (icon != null) { + if (icon != null && icon.hasItemMeta()) { + if (icon.getItemMeta().hasDisplayName() && + icon.getItemMeta().getDisplayName().endsWith("返回")) { + ((Player) event.getWhoClicked()).chat("/menu_shop"); + return; + } + List list = icon.getItemMeta().getLore(); - if (list != null) { + if (list != null && !list.isEmpty()) { String shopId = event.getInventory().getTitle().split("-")[1]; - String itemId = list.get(0).split(":")[1]; - Item item = AcShop.getShops().getItem(shopId, itemId); - new Operation().buy((Player) event.getWhoClicked(), item); - } - if (icon.getItemMeta().getDisplayName() != null) { - if (icon.getItemMeta().getDisplayName().equals("返回")) { - ((Player) event.getWhoClicked()).chat("/menu_shop"); + String[] loreParts = list.get(0).split(":"); + if (loreParts.length > 1) { + String itemId = loreParts[1]; + Item item = AcShop.getShops().getItem(shopId, itemId); + new Operation().buy((Player) event.getWhoClicked(), item); } } } diff --git a/modules/MedalCabinet/src/main/java/com/mcatk/medalcabinet/MedalsGui.java b/modules/MedalCabinet/src/main/java/com/mcatk/medalcabinet/MedalsGui.java index 185d826..d883893 100644 --- a/modules/MedalCabinet/src/main/java/com/mcatk/medalcabinet/MedalsGui.java +++ b/modules/MedalCabinet/src/main/java/com/mcatk/medalcabinet/MedalsGui.java @@ -37,7 +37,10 @@ public MedalsGui(String playerID) { // back button back = new ItemStack(Material.GOLD_NUGGET); ItemMeta meta = back.getItemMeta(); - meta.setDisplayName("返回"); + meta.setDisplayName("\u00a7e返回"); + ArrayList lore = new ArrayList<>(); + lore.add("\u00a77点击返回主菜单"); + meta.setLore(lore); back.setItemMeta(meta); gui.setItem(53, back); } @@ -63,13 +66,19 @@ public void onInventoryClick(InventoryClickEvent e) { e.setCancelled(true); ItemStack clickedItem = e.getCurrentItem(); if (clickedItem == null || clickedItem.getType() == Material.AIR) return; - if (clickedItem.equals(back)) { + + if (clickedItem.hasItemMeta() && + clickedItem.getItemMeta().hasDisplayName() && + clickedItem.getItemMeta().getDisplayName().endsWith("返回")) { ((Player) e.getWhoClicked()).chat("/menu"); return; } + Medal medal = iconMap.get(clickedItem); - SQLManager.getInstance().setMainMedal(e.getWhoClicked().getName(), medal.getId()); - e.getWhoClicked().sendMessage("§e已将勋章 " + medal.getName() + " §e设为主勋章"); + if (medal != null) { + SQLManager.getInstance().setMainMedal(e.getWhoClicked().getName(), medal.getId()); + e.getWhoClicked().sendMessage("§e已将勋章 " + medal.getName() + " §e设为主勋章"); + } }