Class PermissibleBase

    • Constructor Detail

      • PermissibleBase

        public PermissibleBase​(@Nullable
                               ServerOperator opable)
    • Method Detail

      • isOp

        public boolean isOp()
        Description copied from interface: ServerOperator
        Checks if this object is a server operator
        Specified by:
        isOp in interface ServerOperator
        Returns:
        true if this is an operator, otherwise false
      • setOp

        public void setOp​(boolean value)
        Description copied from interface: ServerOperator
        Sets the operator status of this object
        Specified by:
        setOp in interface ServerOperator
        Parameters:
        value - New operator value
      • isPermissionSet

        public boolean isPermissionSet​(@NotNull
                                       String name)
        Description copied from interface: Permissible
        Checks if this object contains an override for the specified permission, by fully qualified name
        Specified by:
        isPermissionSet in interface Permissible
        Parameters:
        name - Name of the permission
        Returns:
        true if the permission is set, otherwise false
      • isPermissionSet

        public boolean isPermissionSet​(@NotNull
                                       Permission perm)
        Description copied from interface: Permissible
        Checks if this object contains an override for the specified Permission
        Specified by:
        isPermissionSet in interface Permissible
        Parameters:
        perm - Permission to check
        Returns:
        true if the permission is set, otherwise false
      • hasPermission

        public boolean hasPermission​(@NotNull
                                     String inName)
        Description copied from interface: Permissible
        Gets the value of the specified permission, if set.

        If a permission override is not set on this object, the default value of the permission will be returned.

        Specified by:
        hasPermission in interface Permissible
        Parameters:
        inName - Name of the permission
        Returns:
        Value of the permission
      • hasPermission

        public boolean hasPermission​(@NotNull
                                     Permission perm)
        Description copied from interface: Permissible
        Gets the value of the specified permission, if set.

        If a permission override is not set on this object, the default value of the permission will be returned

        Specified by:
        hasPermission in interface Permissible
        Parameters:
        perm - Permission to get
        Returns:
        Value of the permission
      • addAttachment

        @NotNull
        public PermissionAttachment addAttachment​(@NotNull
                                                  Plugin plugin,
                                                  @NotNull
                                                  String name,
                                                  boolean value)
        Description copied from interface: Permissible
        Adds a new PermissionAttachment with a single permission by name and value
        Specified by:
        addAttachment in interface Permissible
        Parameters:
        plugin - Plugin responsible for this attachment, may not be null or disabled
        name - Name of the permission to attach
        value - Value of the permission
        Returns:
        The PermissionAttachment that was just created
      • recalculatePermissions

        public void recalculatePermissions()
        Description copied from interface: Permissible
        Recalculates the permissions for this object, if the attachments have changed values.

        This should very rarely need to be called from a plugin.

        Specified by:
        recalculatePermissions in interface Permissible
      • clearPermissions

        public void clearPermissions()
      • addAttachment

        @Nullable
        public PermissionAttachment addAttachment​(@NotNull
                                                  Plugin plugin,
                                                  @NotNull
                                                  String name,
                                                  boolean value,
                                                  int ticks)
        Description copied from interface: Permissible
        Temporarily adds a new PermissionAttachment with a single permission by name and value
        Specified by:
        addAttachment in interface Permissible
        Parameters:
        plugin - Plugin responsible for this attachment, may not be null or disabled
        name - Name of the permission to attach
        value - Value of the permission
        ticks - Amount of ticks to automatically remove this attachment after
        Returns:
        The PermissionAttachment that was just created
      • addAttachment

        @Nullable
        public PermissionAttachment addAttachment​(@NotNull
                                                  Plugin plugin,
                                                  int ticks)
        Description copied from interface: Permissible
        Temporarily adds a new empty PermissionAttachment to this object
        Specified by:
        addAttachment in interface Permissible
        Parameters:
        plugin - Plugin responsible for this attachment, may not be null or disabled
        ticks - Amount of ticks to automatically remove this attachment after
        Returns:
        The PermissionAttachment that was just created