package de.jatitv.commandguiv2.Spigot.system; import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.objects.slots.Slot; import net.t2code.lib.Spigot.Lib.register.Register; import org.bukkit.permissions.PermissionDefault; import org.bukkit.plugin.Plugin; public class RegisterPermissions { private static final Plugin plugin = Main.plugin; public static final String key = "commandgui."; public static final String command = key + "command"; public static final String info = key + "command.info"; public static final String bypass = key + "bypass"; public static final String useitemToggle = key + "useitem.toggle"; public static final String useitem = key + "useitem"; public static final String getGuiItemAtLogin = key + "get.guiitem.at.login"; public static final String updatemsg = key + "updatemsgupdatemsg"; public static final String player = key + "player"; public static final String admin = key + "admin"; public static final PermissionDefault op = PermissionDefault.OP; public static final PermissionDefault notOp = PermissionDefault.NOT_OP; public static void onPermRegister() { Register.permission(command, op, plugin); Register.permissionDescription(command, "Required permission to open GUIs via command", plugin); Register.permission(getGuiItemAtLogin, op, plugin); Register.permissionDescription(getGuiItemAtLogin, "Only players with this permission will receive the GUI item", plugin); Register.permission(useitem, op, plugin); Register.permissionDescription(useitem, "Required permission to use the GUI Item", plugin); Register.permission(useitemToggle, op, plugin); Register.permissionDescription(useitemToggle, "Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)", plugin); Register.permission(updatemsg, op, plugin); Register.permissionDescription(updatemsg, "Players with this permission get the update message when joining if an update is available", plugin); Register.permission(bypass, op, plugin); Register.permissionDescription(bypass, "Bypass to open disabled GUIs", plugin); Register.permission(info, notOp, plugin); Register.permissionDescription(info, "Permission to view CommandGUI info", plugin); Register.permission(player, op, command, true, plugin); Register.permission(player, op, getGuiItemAtLogin, true, plugin); Register.permission(player, op, useitem, true, plugin); Register.permission(player, op, useitemToggle, true, plugin); Register.permissionDescription(player, "All permissions from CommandGUI for Player", plugin); Register.permission(admin, op, command, true, plugin); Register.permission(admin, op, getGuiItemAtLogin, true, plugin); Register.permission(admin, op, useitem, true, plugin); Register.permission(admin, op, useitemToggle, true, plugin); Register.permission(admin, op, updatemsg, true, plugin); Register.permission(admin, op, bypass, true, plugin); Register.permission(admin, op, info, true, plugin); Register.permissionDescription(admin, "All permissions from CommandGUI", plugin); for (Gui gui : Main.guiHashMap.values()) { Register.permission("commandgui.command." + gui.key, op, plugin); Register.permission(admin, op, "commandgui.command." + gui.key, true, plugin); for (Slot slot : gui.slots) { Register.permission(slot.permissionToUse, op, plugin); Register.permission(admin, op, slot.permissionToUse, true, plugin); Register.permission(slot.permissionToSee, op, plugin); Register.permission(admin, op, slot.permissionToSee, true, plugin); } } } }