Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ void reload() {

@Override
public void onEnable() {
Permissions.init(this);
Permissions.register(this);
Objects.requireNonNull(getCommand("enchantbookplus")).setExecutor(new MainCommand(this));

registerEvents();
Expand All @@ -99,5 +99,6 @@ public void onEnable() {
public void onDisable() {
allConfigEnchantment = null;
configEnchantments.clear();
Permissions.unregister(this);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,39 @@
import org.bukkit.plugin.PluginManager;
import org.jspecify.annotations.NullMarked;

import java.util.function.Consumer;

@NullMarked
public final class Permissions {
public final static String RELOAD = "enchantbookplus.reload";
public static final String RELOAD = "enchantbookplus.reload";

public static String enchant(final Enchantment enchantment) {
return "enchantbookplus.enchant." + enchantment.getKey().getKey();
}

public static void init(final EnchantBookPlus plugin) {

public static void register(final EnchantBookPlus plugin) {
final PluginManager pm = plugin.getServer().getPluginManager();
forEach(pm::addPermission);
}

public static void unregister(final EnchantBookPlus plugin) {
final PluginManager pm = plugin.getServer().getPluginManager();
forEach(pm::removePermission);
}

pm.addPermission(new Permission(
private static void forEach(final Consumer<Permission> consumer) {
consumer.accept(new Permission(
RELOAD,
"Reload plugin config using ‘/enchantbookplus reload’",
PermissionDefault.OP
));

for (Enchantment enchantment : Registry.ENCHANTMENT) {
pm.addPermission(new Permission(
for (final Enchantment enchantment : Registry.ENCHANTMENT) {
consumer.accept(new Permission(
enchant(enchantment),
"Allow enchanting " + enchantment.getKey() + "above the vanilla level, as configured in the plugin",
"Allow enchanting " + enchantment.getKey()
+ " above the vanilla level, as configured in the plugin",
PermissionDefault.TRUE
));
}
Expand Down
Loading