Package org.bukkit.permissions
Class PermissibleBase
- java.lang.Object
-
- org.bukkit.permissions.PermissibleBase
-
- All Implemented Interfaces:
Permissible
,ServerOperator
public class PermissibleBase extends Object implements Permissible
Base Permissible for use in any Permissible object via proxy or extension
-
-
Constructor Summary
Constructors Constructor Description PermissibleBase(@Nullable ServerOperator opable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull PermissionAttachment
addAttachment(@NotNull Plugin plugin)
Adds a new emptyPermissionAttachment
to this object@Nullable PermissionAttachment
addAttachment(@NotNull Plugin plugin, int ticks)
Temporarily adds a new emptyPermissionAttachment
to this object@NotNull PermissionAttachment
addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value)
Adds a newPermissionAttachment
with a single permission by name and value@Nullable PermissionAttachment
addAttachment(@NotNull Plugin plugin, @NotNull String name, boolean value, int ticks)
Temporarily adds a newPermissionAttachment
with a single permission by name and valuevoid
clearPermissions()
@NotNull Set<PermissionAttachmentInfo>
getEffectivePermissions()
Gets a set containing all of the permissions currently in effect by this objectboolean
hasPermission(@NotNull String inName)
Gets the value of the specified permission, if set.boolean
hasPermission(@NotNull Permission perm)
Gets the value of the specified permission, if set.boolean
isOp()
Checks if this object is a server operatorboolean
isPermissionSet(@NotNull String name)
Checks if this object contains an override for the specified permission, by fully qualified nameboolean
isPermissionSet(@NotNull Permission perm)
Checks if this object contains an override for the specifiedPermission
void
recalculatePermissions()
Recalculates the permissions for this object, if the attachments have changed values.void
removeAttachment(@NotNull PermissionAttachment attachment)
Removes the givenPermissionAttachment
from this objectvoid
setOp(boolean value)
Sets the operator status of this object
-
-
-
Constructor Detail
-
PermissibleBase
public PermissibleBase(@Nullable @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 interfaceServerOperator
- 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 interfaceServerOperator
- Parameters:
value
- New operator value
-
isPermissionSet
public boolean isPermissionSet(@NotNull @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 interfacePermissible
- Parameters:
name
- Name of the permission- Returns:
- true if the permission is set, otherwise false
-
isPermissionSet
public boolean isPermissionSet(@NotNull @NotNull Permission perm)
Description copied from interface:Permissible
Checks if this object contains an override for the specifiedPermission
- Specified by:
isPermissionSet
in interfacePermissible
- Parameters:
perm
- Permission to check- Returns:
- true if the permission is set, otherwise false
-
hasPermission
public boolean hasPermission(@NotNull @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 interfacePermissible
- Parameters:
inName
- Name of the permission- Returns:
- Value of the permission
-
hasPermission
public boolean hasPermission(@NotNull @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 interfacePermissible
- Parameters:
perm
- Permission to get- Returns:
- Value of the permission
-
addAttachment
@NotNull public @NotNull PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String name, boolean value)
Description copied from interface:Permissible
Adds a newPermissionAttachment
with a single permission by name and value- Specified by:
addAttachment
in interfacePermissible
- Parameters:
plugin
- Plugin responsible for this attachment, may not be null or disabledname
- Name of the permission to attachvalue
- Value of the permission- Returns:
- The PermissionAttachment that was just created
-
addAttachment
@NotNull public @NotNull PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin)
Description copied from interface:Permissible
Adds a new emptyPermissionAttachment
to this object- Specified by:
addAttachment
in interfacePermissible
- Parameters:
plugin
- Plugin responsible for this attachment, may not be null or disabled- Returns:
- The PermissionAttachment that was just created
-
removeAttachment
public void removeAttachment(@NotNull @NotNull PermissionAttachment attachment)
Description copied from interface:Permissible
Removes the givenPermissionAttachment
from this object- Specified by:
removeAttachment
in interfacePermissible
- Parameters:
attachment
- Attachment to remove
-
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 interfacePermissible
-
clearPermissions
public void clearPermissions()
-
addAttachment
@Nullable public @Nullable PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin, @NotNull @NotNull String name, boolean value, int ticks)
Description copied from interface:Permissible
Temporarily adds a newPermissionAttachment
with a single permission by name and value- Specified by:
addAttachment
in interfacePermissible
- Parameters:
plugin
- Plugin responsible for this attachment, may not be null or disabledname
- Name of the permission to attachvalue
- Value of the permissionticks
- Amount of ticks to automatically remove this attachment after- Returns:
- The PermissionAttachment that was just created
-
addAttachment
@Nullable public @Nullable PermissionAttachment addAttachment(@NotNull @NotNull Plugin plugin, int ticks)
Description copied from interface:Permissible
Temporarily adds a new emptyPermissionAttachment
to this object- Specified by:
addAttachment
in interfacePermissible
- Parameters:
plugin
- Plugin responsible for this attachment, may not be null or disabledticks
- Amount of ticks to automatically remove this attachment after- Returns:
- The PermissionAttachment that was just created
-
getEffectivePermissions
@NotNull public @NotNull Set<PermissionAttachmentInfo> getEffectivePermissions()
Description copied from interface:Permissible
Gets a set containing all of the permissions currently in effect by this object- Specified by:
getEffectivePermissions
in interfacePermissible
- Returns:
- Set of currently effective permissions
-
-