Interface IPermissionHandler
- All Known Implementing Classes:
DefaultPermissionHandler
public interface IPermissionHandler
This is the Heart of the PermissionAPI, it manages
PermissionNode
s
as well as it handles all permission queries.
Note: You do not need to implement a PermissionHandler to query for permissions.
- API Note:
- You can implement your own PermissionHandler using the
PermissionGatherEvent.Handler
event. - Implementation Note:
- The
DefaultPermissionHandler
does forward all permission queries to the PermissionNodes default resolver.
-
Method Summary
Modifier and TypeMethodDescriptionReturns an identifier for the PermissionHandler.<T> T
getOfflinePermission
(UUID player, PermissionNode<T> node, PermissionDynamicContext<?>... context) <T> T
getPermission
(ServerPlayer player, PermissionNode<T> node, PermissionDynamicContext<?>... context) Set
<PermissionNode<?>> Returns an unmodifiable view of the collection of registered permission nodes.
-
Method Details
-
getIdentifier
ResourceLocation getIdentifier()Returns an identifier for the PermissionHandler.- Returns:
- an identifier for the PermissionHandler
-
getRegisteredNodes
Set<PermissionNode<?>> getRegisteredNodes()Returns an unmodifiable view of the collection of registered permission nodes.- Returns:
- an unmodifiable view of the collection of registered permission nodes
-
getPermission
<T> T getPermission(ServerPlayer player, PermissionNode<T> node, PermissionDynamicContext<?>... context) Mods must usePermissionAPI.getPermission(ServerPlayer, PermissionNode, PermissionDynamicContext[])
Queries a player's permission for a given node and contexts
Warning: PermissionNodes must be registered using the
PermissionGatherEvent.Nodes
event before querying.- Type Parameters:
T
- type of the queried PermissionNode- Parameters:
player
- player for which you want to check permissionsnode
- the PermissionNode for which you want to querycontext
- optional array of PermissionDynamicContext, single entries will be ignored if they weren't registered to the node- Returns:
- a value of type
<T>
, that the combination of Player and PermissionNode map to.
-
getOfflinePermission
<T> T getOfflinePermission(UUID player, PermissionNode<T> node, PermissionDynamicContext<?>... context) - Type Parameters:
T
- type of the queried PermissionNode- Parameters:
player
- offline player for which you want to check permissionsnode
- the PermissionNode for which you want to querycontext
- optional array of PermissionDynamicContext, single entries will be ignored if they weren't registered to the node- Returns:
- a value of type
<T>
, that the combination of Player and PermissionNode map to.
-