StarShadow

MC - Permission Manager

Jun 30th, 2015 (edited)
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.69 KB | None | 0 0
  1. import java.util.HashMap;
  2. import java.util.UUID;
  3.  
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.permissions.Permission;
  6. import org.bukkit.permissions.PermissionAttachment;
  7. import org.bukkit.plugin.java.JavaPlugin;
  8.  
  9. public class EPerm {
  10.    
  11.     private HashMap<UUID, PermissionAttachment> map = new HashMap<UUID, PermissionAttachment>();
  12.    
  13.     private JavaPlugin plugin;
  14.     public EPerm(JavaPlugin pl) {
  15.         this.plugin = pl;
  16.     }
  17.    
  18.     private PermissionAttachment getAttachment(Player player) {
  19.         if (map.containsKey(player.getUniqueId())) return map.get(player.getUniqueId());
  20.         PermissionAttachment perma = player.addAttachment(plugin);
  21.         map.put(player.getUniqueId(), perma);
  22.         return perma;
  23.     }
  24.    
  25.     private void updateInfo(Player player, PermissionAttachment perma) {
  26.         map.put(player.getUniqueId(), perma);
  27.     }
  28.    
  29.     public void addPermission(Player player, String perm) {
  30.         PermissionAttachment perma = getAttachment(player);
  31.         perma.setPermission(perm, true);
  32.         updateInfo(player, perma);
  33.         player.recalculatePermissions();
  34.     }
  35.    
  36.     public void removePermission(Player player, String perm) {
  37.         PermissionAttachment perma = getAttachment(player);
  38.         perma.unsetPermission(perm);
  39.         updateInfo(player, perma);
  40.         player.recalculatePermissions();
  41.     }
  42.    
  43.     public void addPermission(Player player, Permission perm) {
  44.         PermissionAttachment perma = getAttachment(player);
  45.         perma.setPermission(perm, true);
  46.         updateInfo(player, perma);
  47.         player.recalculatePermissions();
  48.     }
  49.    
  50.     public void removePermission(Player player, Permission perm) {
  51.         PermissionAttachment perma = getAttachment(player);
  52.         perma.unsetPermission(perm);
  53.         updateInfo(player, perma);
  54.         player.recalculatePermissions();
  55.     }
  56.  
  57. }
Add Comment
Please, Sign In to add comment