From 7d8b0dcaf4f8777cc70974dfb6bc437ed978d0fd Mon Sep 17 00:00:00 2001 From: Brianna Date: Fri, 3 May 2019 19:40:34 -0400 Subject: [PATCH] Title formatting. --- .../songoda/ultimatemoderation/utils/Methods.java | 11 +++++++++++ .../ultimatemoderation/utils/gui/AbstractGUI.java | 13 ++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/songoda/ultimatemoderation/utils/Methods.java b/src/main/java/com/songoda/ultimatemoderation/utils/Methods.java index 7d206a7..be37ecc 100644 --- a/src/main/java/com/songoda/ultimatemoderation/utils/Methods.java +++ b/src/main/java/com/songoda/ultimatemoderation/utils/Methods.java @@ -59,6 +59,17 @@ public class Methods { return ChatColor.translateAlternateColorCodes('&', text); } + public static String formatTitle(String text) { + if (text == null || text.equals("")) + return ""; + if (!UltimateModeration.getInstance().isServerVersionAtLeast(ServerVersion.V1_9)) { + if (text.length() > 31) + text = text.substring(0, 29) + "..."; + } + text = formatText(text); + return text; + } + public static String makeReadable(Long time) { if (time == null) return ""; diff --git a/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java b/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java index 4fe1d48..9043549 100644 --- a/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java +++ b/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java @@ -100,6 +100,7 @@ public abstract class AbstractGUI implements Listener { for (OnClose onClose : gui.onCloses) { onClose.OnClose((Player) event.getPlayer(), inventory); } + gui.destory(); } private AbstractGUI getGUIFromInventory(Inventory inventory) { @@ -116,9 +117,9 @@ public abstract class AbstractGUI implements Listener { public void init(String title, int slots) { if (inventory == null || inventory.getSize() != slots - || ChatColor.translateAlternateColorCodes('&', title) != player.getOpenInventory().getTitle()) { - this.inventory = Bukkit.getServer().createInventory(new GUIHolder(), slots, Methods.formatText(title)); - this.setTitle = Methods.formatText(title); + || Methods.formatTitle(title) != player.getOpenInventory().getTitle()) { + this.inventory = Bukkit.getServer().createInventory(new GUIHolder(), slots, Methods.formatTitle(title)); + this.setTitle = Methods.formatTitle(title); if (this.clickables.size() == 0) registerClickables(); if (this.onCloses.size() == 0) @@ -129,6 +130,12 @@ public abstract class AbstractGUI implements Listener { player.openInventory(inventory); } + private void destory() { + onCloses.clear(); + clickables.clear(); + draggableRanges.clear(); + } + protected abstract void constructGUI(); protected void addDraggable(Range range, boolean option) {