Advertisement
Dan_Ender

Untitled

Nov 18th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.68 KB | None | 0 0
  1. package ru.Dan_Ender.ctOS.utils;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6.  
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.permissions.PermissionAttachment;
  9.  
  10. import ru.Dan_Ender.ctOS.ctOS;
  11.  
  12. public class UserProfile {
  13.    
  14.     private Player p;
  15.     private PermissionAttachment permissionAttachment;
  16.     private boolean isAdmin,isModer,isBuilder = false;
  17.     private List<String> permissions = new ArrayList<String>();
  18.     private String prefix,suffix,prefixTab,suffixTab,group,adminPass = "@NULL";
  19.    
  20.     public String getAdminPass() {
  21.         return adminPass;
  22.     }
  23.  
  24.     public void setAdminPass(String adminPass) {
  25.         this.adminPass = adminPass;
  26.     }
  27.  
  28.     public UserProfile(Player p) {
  29.         this.p = p;
  30.         permissionAttachment = new PermissionAttachment(ctOS.ctOS, p); 
  31.     }
  32.    
  33.     UserProfile(Player p,String[] parameters) {
  34.         this.p = p;
  35.         permissionAttachment = new PermissionAttachment(ctOS.ctOS, p);
  36.        
  37.         isAdmin = Boolean.valueOf(parameters[0]);
  38.         isModer = Boolean.valueOf(parameters[1]);
  39.         isBuilder = Boolean.valueOf(parameters[2]);
  40.        
  41.         prefix = parameters[3];
  42.         prefixTab = parameters[4];
  43.         suffix = parameters[5];
  44.         suffixTab = parameters[6];
  45.        
  46.         permissions = Arrays.asList(parameters[7].replace("[", "").replace("]", "").split(", "));
  47.        
  48.         group = parameters[8];
  49.        
  50.         adminPass = parameters[9];
  51.        
  52.         for (String permission:permissions) {
  53.             permissionAttachment.setPermission(permission, true);
  54.         }
  55.        
  56.         for (String permission:ctOS.config.getGroupPermissions(group)) {
  57.             permissionAttachment.setPermission(permission, true);
  58.         }
  59.        
  60.     }
  61.  
  62.     public boolean hasPermission(String permission) {
  63.         if (isAdmin) {
  64.             return true;
  65.         }
  66.         for (String ownPerm:permissions) {
  67.             if (ownPerm.equals(permission)) {
  68.                 return true;
  69.             }
  70.         }
  71.         return false;
  72.     }
  73.    
  74.     public String getGroup() {
  75.         return group;
  76.     }
  77.  
  78.     public void setGroup(String group) {
  79.         removePermissions(ctOS.config.getGroupPermissions(this.group));
  80.         this.group = group;
  81.         addPermissions(ctOS.config.getGroupPermissions(group));
  82.     }
  83.    
  84.     public String getPrefix(boolean mysql) {
  85.         if (!mysql && prefix.equalsIgnoreCase("@NULL")) return ctOS.config.getGroupPrefix(group);
  86.         return prefix;
  87.     }
  88.  
  89.     public void setPrefix(String prefix) {
  90.         this.prefix = prefix;
  91.     }
  92.  
  93.     public String getSuffix(boolean mysql) {
  94.         if (!mysql && suffix.equalsIgnoreCase("@NULL")) return ctOS.config.getGroupSuffix(group);
  95.         return suffix;
  96.     }
  97.  
  98.     public void setSuffix(String suffix) {
  99.         this.suffix = suffix;
  100.     }
  101.  
  102.     public String getPrefixTab(boolean mysql) {
  103.         if (!mysql && prefixTab.equalsIgnoreCase("@NULL")) return ctOS.config.getGroupTabPrefix(group);
  104.         return prefixTab;
  105.     }
  106.  
  107.     public void setPrefixTab(String prefixTab) {
  108.         this.prefixTab = prefixTab;
  109.     }
  110.  
  111.     public String getSuffixTab(boolean mysql) {
  112.         if (!mysql && suffixTab.equalsIgnoreCase("@NULL")) return ctOS.config.getGroupTabSuffix(group);
  113.         return suffixTab;
  114.     }
  115.  
  116.     public void setSuffixTab(String suffixTab) {
  117.         this.suffixTab = suffixTab;
  118.     }
  119.  
  120.     public boolean isAdmin() {
  121.         return isAdmin;
  122.     }
  123.  
  124.     public void setAdmin(boolean isAdmin) {
  125.         this.isAdmin = isAdmin;
  126.     }
  127.  
  128.     public boolean isModer() {
  129.         return isModer;
  130.     }
  131.  
  132.     public void setModer(boolean isModer) {
  133.         this.isModer = isModer;
  134.     }
  135.  
  136.     public boolean isBuilder() {
  137.         return isBuilder;
  138.     }
  139.  
  140.     public void setBuilder(boolean isBuilder) {
  141.         this.isBuilder = isBuilder;
  142.     }
  143.  
  144.     public List<String> getPermissions() {
  145.         return permissions;
  146.     }
  147.  
  148.     public void setPermissions(List<String> permissions) {
  149.        
  150.         for (String permission:this.permissions) {
  151.             permissionAttachment.unsetPermission(permission);
  152.         }
  153.        
  154.         this.permissions.clear();
  155.         this.permissions.addAll(permissions);
  156.        
  157.         for (String permission:this.permissions) {
  158.             permissionAttachment.setPermission(permission, true);
  159.         }
  160.        
  161.     }
  162.    
  163.     public void addPermission(String permission) {
  164.         permissionAttachment.setPermission(permission, true);
  165.         permissions.add(permission);
  166.     }
  167.    
  168.     public void addPermissions(List<String> permissions) {
  169.         for (String permission:permissions) {
  170.             permissionAttachment.setPermission(permission, true);
  171.         }
  172.         this.permissions.addAll(permissions);
  173.     }
  174.    
  175.     public void removePermission(String permission) {
  176.         permissionAttachment.unsetPermission(permission);
  177.         this.permissions.remove(permission);
  178.     }
  179.    
  180.     public void removePermissions(List<String> permissions) {
  181.         for (String permission:permissions) {
  182.             permissionAttachment.unsetPermission(permission);
  183.         }
  184.         this.permissions.removeAll(permissions);
  185.     }
  186.    
  187.     public Player getPlayer() {
  188.         return p;
  189.     }
  190.    
  191.     public String getConvertedPermissions() {
  192.         String perms = permissions.toString().replace("[", "").replace("]", "");
  193.         return perms;
  194.     }
  195.    
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement