Checking Permissions
Players implement PermissionHolder and have a direct hasPermission() method:
1// Check if player has permission2if (player.hasPermission("myplugin.admin")) {3 // do admin stuff4}56// With default value if permission not set7boolean canBuild = player.hasPermission("myplugin.build", true);PermissionsModule
For more control, use the PermissionsModule singleton:
1import com.hypixel.hytale.server.core.permissions.PermissionsModule;23PermissionsModule perms = PermissionsModule.get();45// Check permission by UUID6UUID uuid = player.getUuid();7boolean isAdmin = perms.hasPermission(uuid, "server.admin");Managing Permissions
User Permissions
1PermissionsModule perms = PermissionsModule.get();2UUID uuid = player.getUuid();34// Add permissions5perms.addUserPermission(uuid, Set.of("myplugin.use", "myplugin.vip"));67// Remove permissions8perms.removeUserPermission(uuid, Set.of("myplugin.vip"));Groups
1PermissionsModule perms = PermissionsModule.get();2UUID uuid = player.getUuid();34// Add user to group5perms.addUserToGroup(uuid, "moderators");67// Remove from group8perms.removeUserFromGroup(uuid, "moderators");910// Get user's groups11Set<String> groups = perms.getGroupsForUser(uuid);1213// Add permission to group (all members get it)14perms.addGroupPermission("moderators", Set.of("server.kick", "server.mute"));1516// Remove group permission17perms.removeGroupPermission("moderators", Set.of("server.mute"));Permission Format
Permissions are strings, typically dot-separated:
| pattern | example | description |
|---|---|---|
| plugin.action | myplugin.teleport | Basic permission |
| plugin.category.action | myplugin.admin.ban | Nested permission |
| plugin.* | myplugin.* | Wildcard (check server support) |
In Commands
1@Override2protected CompletableFuture execute(@Nonnull CommandContext ctx) { 3 if (!ctx.isPlayer()) {4 ctx.sendMessage(Message.raw("Players only!"));5 return null;6 }7 8 Player player = ctx.senderAs(Player.class);9 10 if (!player.hasPermission("myplugin.mycommand")) {11 ctx.sendMessage(Message.raw("No permission!"));12 return null;13 }14 15 // Execute command...16 return null;17}builtin permission commands
The server has builtin
/perm commands for managing permissions. See builtin commands.