Class PlayerPermissionHandler
java.lang.Object
com.bencodez.advancedcore.api.permissions.PlayerPermissionHandler
Stores permission state for a single player UUID.
Key behaviors:
- Persistent permissions are re-applied on every login.
- Timed permissions are tracked as an absolute expiration timestamp (epoch millis).
- Offline queued permissions are applied on next login.
-
Constructor Summary
ConstructorsConstructorDescriptionPlayerPermissionHandler(UUID uuid, org.bukkit.permissions.PermissionAttachment attachment, PermissionHandler handler) -
Method Summary
Modifier and TypeMethodDescriptionaddExpiration(String perm, long seconds) Backwards-compatible: seconds-based timed permission.addExpiration(String perm, com.bencodez.simpleapi.time.ParsedDuration duration) Adds a timed permission using ParsedDuration.addOfflinePerm(String perm, long seconds) Backwards-compatible offline queue.addOfflinePerm(String perm, com.bencodez.simpleapi.time.ParsedDuration duration) Queues a permission to apply on next login.Adds a permanent permission (persists across logouts).voidonLogin(org.bukkit.entity.Player player) Re-applies stored permissions after an attachment is created on login.voidonLogout(org.bukkit.entity.Player player) Logout hook; state is intentionally preserved.voidremovePermission(String perm) Removes a permission from both internal tracking and the live attachment (if online).
-
Constructor Details
-
PlayerPermissionHandler
public PlayerPermissionHandler(UUID uuid, org.bukkit.permissions.PermissionAttachment attachment, PermissionHandler handler)
-
-
Method Details
-
addExpiration
public PlayerPermissionHandler addExpiration(String perm, com.bencodez.simpleapi.time.ParsedDuration duration) Adds a timed permission using ParsedDuration.- Parameters:
perm- Permission nodeduration- How long the permission should last- Returns:
- this
-
addExpiration
Backwards-compatible: seconds-based timed permission. -
addOfflinePerm
public PlayerPermissionHandler addOfflinePerm(String perm, com.bencodez.simpleapi.time.ParsedDuration duration) Queues a permission to apply on next login.- Parameters:
perm- Permission nodeduration- Duration; empty means permanent- Returns:
- this
-
addOfflinePerm
Backwards-compatible offline queue. -
addPerm
Adds a permanent permission (persists across logouts).- Parameters:
perm- Permission node- Returns:
- this
-
onLogin
public void onLogin(org.bukkit.entity.Player player) Re-applies stored permissions after an attachment is created on login. -
onLogout
public void onLogout(org.bukkit.entity.Player player) Logout hook; state is intentionally preserved. -
removePermission
Removes a permission from both internal tracking and the live attachment (if online).
-