From 1649aacd9973ddcffaf89685f3e782ac95f9472a Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Fri, 12 Dec 2025 11:30:36 +0200 Subject: [PATCH 1/4] Set default permissions in plugin.yml --- src/main/resources/plugin.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index bec005d..a4de5f9 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -6,7 +6,16 @@ description: "Combine enchantment books to achieve levels above vanilla" api-version: '1.20' softdepend: - AnvilUnlocker + commands: enchantbookplus: description: "EnchantBookPlus main command" usage: "/" + +permissions: + enchantbookplus.enchant.*: + description: Allow enchanting all enchantments above the vanilla level, as configured in the plugin + default: true + enchantbookplus.reload: + description: Reload plugin config using `/enchantbookplus reload` + default: op From 1552d5845a563b4a989f45d58d2b01e660197407 Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Fri, 12 Dec 2025 12:15:35 +0200 Subject: [PATCH 2/4] Revert "Set default permissions in plugin.yml" This reverts commit 1649aacd9973ddcffaf89685f3e782ac95f9472a. --- src/main/resources/plugin.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index a4de5f9..bec005d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -6,16 +6,7 @@ description: "Combine enchantment books to achieve levels above vanilla" api-version: '1.20' softdepend: - AnvilUnlocker - commands: enchantbookplus: description: "EnchantBookPlus main command" usage: "/" - -permissions: - enchantbookplus.enchant.*: - description: Allow enchanting all enchantments above the vanilla level, as configured in the plugin - default: true - enchantbookplus.reload: - description: Reload plugin config using `/enchantbookplus reload` - default: op From c815ff917e58b2518ce03bdee7696005d0a283bc Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Fri, 12 Dec 2025 12:50:33 +0200 Subject: [PATCH 3/4] Register defaults for permissions --- README.md | 8 +++---- .../smp/enchantbookplus/EnchantBookPlus.java | 1 + .../smp/enchantbookplus/Permissions.java | 23 +++++++++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 67bf000..94bcc0d 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,10 @@ You can set the max level for each enchantment, and add XP cost in levels. > > Example: `enchantbookplus.enchant.*` or `enchantbookplus.enchant.unbreaking` -| Permission | Description | -|-----------------------------------------|----------------------------------------------------------------------------------------| -| `enchantbookplus.enchant.` | Allow enchanting `` above the vanilla level, as configured in the plugin. | -| `enchantbookplus.reload` | Reload plugin config using `/enchantbookplus reload` | +| Permission | Description | Default | +|-----------------------------------------|----------------------------------------------------------------------------------------|----------| +| `enchantbookplus.enchant.` | Allow enchanting `` above the vanilla level, as configured in the plugin. | Everyone | +| `enchantbookplus.reload` | Reload plugin config using `/enchantbookplus reload` | OP | ## Reporting issues Fixing bugs is the utmost priority for this project. diff --git a/src/main/java/pro/cloudnode/smp/enchantbookplus/EnchantBookPlus.java b/src/main/java/pro/cloudnode/smp/enchantbookplus/EnchantBookPlus.java index c72031b..606a777 100644 --- a/src/main/java/pro/cloudnode/smp/enchantbookplus/EnchantBookPlus.java +++ b/src/main/java/pro/cloudnode/smp/enchantbookplus/EnchantBookPlus.java @@ -83,6 +83,7 @@ public void reload() { @Override public void onEnable() { + Permissions.init(); Objects.requireNonNull(getCommand("enchantbookplus")).setExecutor(new MainCommand()); registerEvents(); diff --git a/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java b/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java index ef3f7dd..745caf8 100644 --- a/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java +++ b/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java @@ -1,6 +1,11 @@ package pro.cloudnode.smp.enchantbookplus; +import org.bukkit.Registry; +import org.bukkit.Server; import org.bukkit.enchantments.Enchantment; +import org.bukkit.permissions.Permission; +import org.bukkit.permissions.PermissionDefault; +import org.bukkit.plugin.PluginManager; import org.jetbrains.annotations.NotNull; public final class Permissions { @@ -9,4 +14,22 @@ public final class Permissions { } public static @NotNull String RELOAD = "enchantbookplus.reload"; + + public static void init() { + final @NotNull Server server = EnchantBookPlus.getInstance().getServer(); + final @NotNull PluginManager pm = server.getPluginManager(); + pm.addPermission(new Permission( + RELOAD, + "Reload plugin config using `/enchantbookplus reload`", + PermissionDefault.OP + )); + for (Enchantment enchantment : Registry.ENCHANTMENT) { + EnchantBookPlus.getInstance().getLogger().info("Registering permission for " + enchantment.getKey()); + pm.addPermission(new Permission( + enchant(enchantment), + "Allow enchanting " + enchantment.getKey() + "above the vanilla level, as configured in the plugin", + PermissionDefault.TRUE + )); + } + } } From 5bf9c5952a19a42b685aa3d99d104e0f9cab8dbc Mon Sep 17 00:00:00 2001 From: Zefir Kirilov Date: Fri, 12 Dec 2025 12:58:59 +0200 Subject: [PATCH 4/4] inline unnecessary variable --- .../java/pro/cloudnode/smp/enchantbookplus/Permissions.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java b/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java index 745caf8..2babef6 100644 --- a/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java +++ b/src/main/java/pro/cloudnode/smp/enchantbookplus/Permissions.java @@ -1,7 +1,6 @@ package pro.cloudnode.smp.enchantbookplus; import org.bukkit.Registry; -import org.bukkit.Server; import org.bukkit.enchantments.Enchantment; import org.bukkit.permissions.Permission; import org.bukkit.permissions.PermissionDefault; @@ -16,8 +15,7 @@ public final class Permissions { public static @NotNull String RELOAD = "enchantbookplus.reload"; public static void init() { - final @NotNull Server server = EnchantBookPlus.getInstance().getServer(); - final @NotNull PluginManager pm = server.getPluginManager(); + final @NotNull PluginManager pm = EnchantBookPlus.getInstance().getServer().getPluginManager(); pm.addPermission(new Permission( RELOAD, "Reload plugin config using `/enchantbookplus reload`",