From 4ddfafe6ece64bfa29e3e2c3550f707756cbf1ea Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Sun, 27 Jul 2025 18:42:43 +0200 Subject: [PATCH] Fixes books being loaded twice --- pom.xml | 2 +- .../bookswithoutborders/command/CommandLoad.java | 2 +- .../bookswithoutborders/listener/BookshelfListener.java | 8 +++++++- .../bookswithoutborders/utility/BookFileHelper.java | 3 ++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index fcbf51a..da8d1be 100644 --- a/pom.xml +++ b/pom.xml @@ -113,7 +113,7 @@ org.spigotmc spigot-api - 1.21-R0.1-SNAPSHOT + 1.21.8-R0.1-SNAPSHOT provided diff --git a/src/main/java/net/knarcraft/bookswithoutborders/command/CommandLoad.java b/src/main/java/net/knarcraft/bookswithoutborders/command/CommandLoad.java index 04be5ee..7f81681 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/command/CommandLoad.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/command/CommandLoad.java @@ -35,7 +35,7 @@ public class CommandLoad implements TabExecutor { * @param loadPublic

Whether to list public files as loadable

* @return

True if the book was loaded successfully

*/ - boolean loadBook(CommandSender sender, String[] args, String directory, boolean loadPublic) { + public boolean loadBook(CommandSender sender, String[] args, String directory, boolean loadPublic) { if (!(sender instanceof Player player)) { BooksWithoutBorders.sendErrorMessage(sender, "This command can only be used by a player!"); return false; diff --git a/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java b/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java index 0e639fe..58edc62 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java @@ -3,6 +3,7 @@ package net.knarcraft.bookswithoutborders.listener; import net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig; import net.knarcraft.bookswithoutborders.utility.IntegerToRomanConverter; import net.md_5.bungee.api.ChatColor; +import org.bukkit.NamespacedKey; import org.bukkit.block.ChiseledBookshelf; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; @@ -140,7 +141,12 @@ public class BookshelfListener implements Listener { * @return

The prettified enchantment name

*/ private String getEnchantmentName(Enchantment enchantment) { - return uppercaseFirst(enchantment.getKey().getKey().replace("_", " ")); + NamespacedKey key = enchantment.getKeyOrNull(); + if (key != null) { + return uppercaseFirst(key.getKey().replace("_", " ")); + } else { + return "Unknown Enchantment"; + } } /** diff --git a/src/main/java/net/knarcraft/bookswithoutborders/utility/BookFileHelper.java b/src/main/java/net/knarcraft/bookswithoutborders/utility/BookFileHelper.java index 2989c54..79a7254 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/utility/BookFileHelper.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/utility/BookFileHelper.java @@ -158,8 +158,9 @@ public final class BookFileHelper { String userName = data[1].substring(0, data[1].length() - 4); data[1] = BookHelper.authorFromUUID(userName) + extension; fileList.add(String.join(separator, data)); + } else { + fileList.add(fileName); } - fileList.add(fileName); } return fileList;