diff --git a/src/main/java/net/noscape/project/supremetags/handlers/menu/Paged.java b/src/main/java/net/noscape/project/supremetags/handlers/menu/Paged.java index e442f43..d1a9896 100644 --- a/src/main/java/net/noscape/project/supremetags/handlers/menu/Paged.java +++ b/src/main/java/net/noscape/project/supremetags/handlers/menu/Paged.java @@ -863,18 +863,19 @@ public void openSearchContainer(Player player) { try { gui = SignGUI.builder() .setLines(format(messages.getString("messages.sign-line-top")), null, null) + .callHandlerSynchronously(SupremeTags.getInstance()) .setColor(DyeColor.YELLOW) .setHandler((p, result) -> { String line1 = result.getLineWithoutColor(1); - if (!line1.isEmpty()) { - if (SupremeTags.getInstance().getCategoryManager().isCategoryNearName(line1) || SupremeTags.getInstance().getTagManager().tagExistsNearName(line1)) { - Bukkit.getScheduler().runTask(SupremeTags.getInstance(), () -> new SearchResultMenu(SupremeTags.getMenuUtil(player), line1).open()); - } else { - String search_invalid = messages.getString("messages.search-invalid-1").replaceAll("%prefix%", Objects.requireNonNull(messages.getString("messages.prefix"))); - msgPlayer(player, search_invalid); - } + if (line1 != null && !line1.isEmpty() + && (SupremeTags.getInstance().getCategoryManager().isCategoryNearName(line1) + || SupremeTags.getInstance().getTagManager().tagExistsNearName(line1))) { + + return List.of(SignGUIAction.run(() -> + new SearchResultMenu(SupremeTags.getMenuUtil(p), line1).open() + )); } else { String search_invalid = messages.getString("messages.search-invalid-2").replaceAll("%prefix%", Objects.requireNonNull(messages.getString("messages.prefix"))); msgPlayer(player, search_invalid); @@ -1114,4 +1115,5 @@ protected List getFormattedLore(Tag t, String permission) { return color(lore); } -} \ No newline at end of file + +}