Advertisement
Guest User

Untitled

a guest
Feb 24th, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. package de.MongolenKeks.utils;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.UUID;
  9.  
  10. import org.bukkit.configuration.file.YamlConfiguration;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.permissions.PermissionAttachment;
  13.  
  14. import de.MongolenKeks.main.Main;
  15.  
  16. public class PermissonsManager {
  17.  
  18. private Player p;
  19.  
  20. public PermissonsManager(Player player) {
  21. this.p = player;
  22. }
  23.  
  24. private File folder = new File("plugins/Lobby/");
  25. private File file = new File("plugins/Lobby/permissions.yml");
  26. private YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
  27.  
  28. private HashMap<UUID, ArrayList<PermissionAttachment>> permissionAttachments = new HashMap<>();
  29.  
  30. public void save() {
  31. try {
  32. cfg.save(file);
  33. } catch (IOException e) {
  34. e.printStackTrace();
  35. }
  36. }
  37.  
  38. public void setupFiles() {
  39. if(!(folder.exists())) {
  40. folder.mkdir();
  41. }
  42.  
  43. if(!(file.exists())) {
  44. try {
  45. file.createNewFile();
  46. save();
  47. } catch (IOException e) {
  48. e.printStackTrace();
  49. }
  50. }
  51. }
  52.  
  53. public void addPermission(String permission) {
  54. registerPlayerIfNotExisting();
  55.  
  56. List<String> list = cfg.getStringList("Permissions." + p.getUniqueId());
  57.  
  58. if(!(list.contains(permission.toLowerCase()))) {
  59. list.add(permission.toLowerCase());
  60. }
  61.  
  62. cfg.set("Permissions." + p.getUniqueId(), list);
  63. save();
  64. }
  65.  
  66. public void removePermission(String permission) {
  67. registerPlayerIfNotExisting();
  68.  
  69. List<String> list = cfg.getStringList("Permissions." + p.getUniqueId());
  70.  
  71. if(list.contains(permission.toLowerCase())) {
  72. list.remove(permission.toLowerCase());
  73. }
  74.  
  75. cfg.set("Permissions." + p.getUniqueId(), list);
  76. save();
  77. }
  78.  
  79. public void updatePermissions(Player p) {
  80. registerPlayerIfNotExisting();
  81.  
  82. for(PermissionAttachment pa : permissionAttachments.get(p.getUniqueId())) {
  83. p.removeAttachment(pa);
  84. }
  85.  
  86. for(String permission : cfg.getStringList("Permissions." + p.getUniqueId())) {
  87. PermissionAttachment pa = p.addAttachment(Main.getPlugin(Main.class));
  88.  
  89. pa.setPermission(permission, true);
  90. }
  91. }
  92.  
  93. public void registerPlayerIfNotExisting() {
  94. if(cfg.get("Permissions." + p.getUniqueId()) == null) {
  95. List<String> list = new ArrayList<>();
  96. cfg.set("Permissions." + p.getUniqueId(), list);
  97. save();
  98. }
  99.  
  100. if(!(permissionAttachments.containsKey(p.getUniqueId()))) {
  101. permissionAttachments.put(p.getUniqueId(), new ArrayList<PermissionAttachment>());
  102. }
  103. }
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement