From ab26091127fab0a9ccbb6620e6382d355bc4bf4b Mon Sep 17 00:00:00 2001 From: david Date: Sat, 13 Jul 2024 14:29:52 +0200 Subject: [PATCH 1/4] use proper logging --- src/main/java/net/thenextlvl/tweaks/TweaksPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/thenextlvl/tweaks/TweaksPlugin.java b/src/main/java/net/thenextlvl/tweaks/TweaksPlugin.java index 9739c30..024cabc 100644 --- a/src/main/java/net/thenextlvl/tweaks/TweaksPlugin.java +++ b/src/main/java/net/thenextlvl/tweaks/TweaksPlugin.java @@ -155,7 +155,7 @@ private void registerCommand(CommandExecutor executor) { var builder = new CommandBuilder(this, annotation, executor, tabCompleter); Bukkit.getCommandMap().register(getName(), builder.build()); } catch (Exception e) { - e.printStackTrace(); + getComponentLogger().error("Failed to register command", e); } } From 3330820c031cd71725de9e9f7fc403b96f668e34 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 13 Jul 2024 14:30:08 +0200 Subject: [PATCH 2/4] inverted method --- .../tweaks/command/api/OneOptionalArgumentCommand.java | 4 ++-- .../thenextlvl/tweaks/command/player/EnderChestCommand.java | 2 +- .../thenextlvl/tweaks/command/player/InventoryCommand.java | 6 +++--- .../net/thenextlvl/tweaks/command/player/PlayerCommand.java | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/thenextlvl/tweaks/command/api/OneOptionalArgumentCommand.java b/src/main/java/net/thenextlvl/tweaks/command/api/OneOptionalArgumentCommand.java index ce6e81b..33edc2e 100644 --- a/src/main/java/net/thenextlvl/tweaks/command/api/OneOptionalArgumentCommand.java +++ b/src/main/java/net/thenextlvl/tweaks/command/api/OneOptionalArgumentCommand.java @@ -21,8 +21,8 @@ public abstract class OneOptionalArgumentCommand implements TabExecutor { protected abstract @Nullable String getArgumentPermission(CommandSender sender, T argument); - protected boolean isAllowed(CommandSender sender, T argument) { - return true; + protected boolean isDenied(CommandSender sender, T argument) { + return false; } @Override diff --git a/src/main/java/net/thenextlvl/tweaks/command/player/EnderChestCommand.java b/src/main/java/net/thenextlvl/tweaks/command/player/EnderChestCommand.java index bebdce1..089048e 100644 --- a/src/main/java/net/thenextlvl/tweaks/command/player/EnderChestCommand.java +++ b/src/main/java/net/thenextlvl/tweaks/command/player/EnderChestCommand.java @@ -35,7 +35,7 @@ public EnderChestCommand(TweaksPlugin plugin) { @Override protected void execute(CommandSender sender, Player target) { if (!(sender instanceof Player player)) throw new CommandSenderException(); - if (!isAllowed(sender, target)) throw new PlayerNotAffectedException(target); + if (isDenied(sender, target)) throw new PlayerNotAffectedException(target); if (!player.equals(target)) viewers.add(player); player.openInventory(target.getEnderChest()); } diff --git a/src/main/java/net/thenextlvl/tweaks/command/player/InventoryCommand.java b/src/main/java/net/thenextlvl/tweaks/command/player/InventoryCommand.java index 7dcbba9..9dd6c18 100644 --- a/src/main/java/net/thenextlvl/tweaks/command/player/InventoryCommand.java +++ b/src/main/java/net/thenextlvl/tweaks/command/player/InventoryCommand.java @@ -52,14 +52,14 @@ public InventoryCommand(TweaksPlugin plugin) { } @Override - protected boolean isAllowed(CommandSender sender, Player argument) { - return !sender.equals(argument); + protected boolean isDenied(CommandSender sender, Player argument) { + return sender.equals(argument); } @Override protected void execute(CommandSender sender, Player target) { if (!(sender instanceof Player player)) throw new CommandSenderException(); - if (!isAllowed(sender, target)) throw new PlayerNotAffectedException(target); + if (isDenied(sender, target)) throw new PlayerNotAffectedException(target); var inventory = Bukkit.createInventory(target, 54, Component.text(target.getName())); updateInventory(inventory, target); addPlaceholders(inventory); diff --git a/src/main/java/net/thenextlvl/tweaks/command/player/PlayerCommand.java b/src/main/java/net/thenextlvl/tweaks/command/player/PlayerCommand.java index b2c8c6f..8077144 100644 --- a/src/main/java/net/thenextlvl/tweaks/command/player/PlayerCommand.java +++ b/src/main/java/net/thenextlvl/tweaks/command/player/PlayerCommand.java @@ -33,7 +33,7 @@ protected Player parse(String argument) throws CommandException { protected Stream suggest(CommandSender sender) { return Bukkit.getOnlinePlayers().stream() .filter(player -> { - if (!isAllowed(sender, player)) return false; + if (isDenied(sender, player)) return false; var permission = getArgumentPermission(sender, player); return permission == null || sender.hasPermission(permission); }) From e426ee11ceab33595dfdc83d2d01036a64dbe594 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 13 Jul 2024 14:31:14 +0200 Subject: [PATCH 3/4] use registry access --- .../tweaks/command/item/EnchantCommand.java | 12 ++++++------ .../tweaks/command/item/UnenchantCommand.java | 13 ++++++++----- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/net/thenextlvl/tweaks/command/item/EnchantCommand.java b/src/main/java/net/thenextlvl/tweaks/command/item/EnchantCommand.java index f20b8fd..806704a 100644 --- a/src/main/java/net/thenextlvl/tweaks/command/item/EnchantCommand.java +++ b/src/main/java/net/thenextlvl/tweaks/command/item/EnchantCommand.java @@ -1,5 +1,7 @@ package net.thenextlvl.tweaks.command.item; +import io.papermc.paper.registry.RegistryAccess; +import io.papermc.paper.registry.RegistryKey; import lombok.RequiredArgsConstructor; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.Style; @@ -8,11 +10,9 @@ import net.thenextlvl.tweaks.command.api.CommandInfo; import net.thenextlvl.tweaks.command.api.CommandSenderException; import org.bukkit.NamespacedKey; -import org.bukkit.Registry; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; -import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.jetbrains.annotations.Nullable; @@ -41,7 +41,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St if (namespacedKey == null) return false; - var enchantment = Registry.ENCHANTMENT.get(namespacedKey); + var enchantment = RegistryAccess.registryAccess().getRegistry(RegistryKey.ENCHANTMENT).get(namespacedKey); if (enchantment == null) return false; @@ -81,18 +81,18 @@ public boolean onCommand(CommandSender sender, Command command, String label, St return null; if (args.length == 1) { - return Registry.ENCHANTMENT.stream() + return RegistryAccess.registryAccess().getRegistry(RegistryKey.ENCHANTMENT).stream() .filter(enchantment -> enchantment.canEnchantItem(item) && (item.getEnchantments().keySet().stream().noneMatch(enchantment::conflictsWith) || item.getEnchantments().containsKey(enchantment))) .map(enchantment -> enchantment.getKey().asString()).toList(); } if (args.length == 2) { - NamespacedKey namespacedKey = NamespacedKey.fromString(args[0]); + var namespacedKey = NamespacedKey.fromString(args[0]); if (namespacedKey == null) return null; - Enchantment enchantment = Registry.ENCHANTMENT.get(namespacedKey); + var enchantment = RegistryAccess.registryAccess().getRegistry(RegistryKey.ENCHANTMENT).get(namespacedKey); if (enchantment == null) return null; diff --git a/src/main/java/net/thenextlvl/tweaks/command/item/UnenchantCommand.java b/src/main/java/net/thenextlvl/tweaks/command/item/UnenchantCommand.java index 69b47ec..9f823f3 100644 --- a/src/main/java/net/thenextlvl/tweaks/command/item/UnenchantCommand.java +++ b/src/main/java/net/thenextlvl/tweaks/command/item/UnenchantCommand.java @@ -1,13 +1,14 @@ package net.thenextlvl.tweaks.command.item; +import io.papermc.paper.registry.RegistryAccess; +import io.papermc.paper.registry.RegistryKey; import lombok.RequiredArgsConstructor; -import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import net.thenextlvl.tweaks.TweaksPlugin; import net.thenextlvl.tweaks.command.api.CommandInfo; import net.thenextlvl.tweaks.command.api.CommandSenderException; import org.bukkit.NamespacedKey; -import org.bukkit.Registry; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; @@ -45,7 +46,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St for (var key : args) { var namespacedKey = NamespacedKey.fromString(key); - var enchantment = namespacedKey != null ? Registry.ENCHANTMENT.get(namespacedKey) : null; + var enchantment = namespacedKey != null ? RegistryAccess.registryAccess() + .getRegistry(RegistryKey.ENCHANTMENT).get(namespacedKey) : null; if (enchantment == null) { plugin.bundle().sendMessage(player, "enchantment.invalid", Placeholder.parsed("enchantment", key)); @@ -56,9 +58,10 @@ public boolean onCommand(CommandSender sender, Command command, String label, St } enchantments.forEach(enchantment -> { - var message = item.removeEnchantment(enchantment) != 0 ? "enchantment.removed" : "enchantment.absent"; + var level = item.removeEnchantment(enchantment); + var message = level != 0 ? "enchantment.removed" : "enchantment.absent"; plugin.bundle().sendMessage(player, message, Placeholder.component("enchantment", - Component.translatable(enchantment.translationKey()))); + enchantment.displayName(level).style(Style.empty()))); }); return true; From a53529daee9ad395a569c6db118ba0c6124c580b Mon Sep 17 00:00:00 2001 From: david Date: Sat, 13 Jul 2024 14:37:53 +0200 Subject: [PATCH 4/4] updated dependencies --- build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 6ca3ba8..5da8448 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,17 +23,17 @@ repositories { dependencies { compileOnly("net.luckperms:api:5.4") - compileOnly("org.projectlombok:lombok:1.18.32") + compileOnly("org.projectlombok:lombok:1.18.34") compileOnly("net.thenextlvl.core:annotations:2.0.1") compileOnly("io.papermc.paper:paper-api:1.21-R0.1-SNAPSHOT") implementation("net.thenextlvl.core:nbt:1.4.2") implementation("net.thenextlvl.core:files:1.0.5") - implementation("net.thenextlvl.core:i18n:1.0.18") + implementation("net.thenextlvl.core:i18n:1.0.19") implementation("net.thenextlvl.core:paper:1.3.5") implementation("org.bstats:bstats-bukkit:3.0.2") - annotationProcessor("org.projectlombok:lombok:1.18.32") + annotationProcessor("org.projectlombok:lombok:1.18.34") testImplementation("org.junit.jupiter:junit-jupiter-engine:5.9.2") }