Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.MongolenKeks.utils;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.UUID;
- import org.bukkit.configuration.file.YamlConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.permissions.PermissionAttachment;
- import de.MongolenKeks.main.Main;
- public class PermissonsManager {
- private Player p;
- public PermissonsManager(Player player) {
- this.p = player;
- }
- private File folder = new File("plugins/Lobby/");
- private File file = new File("plugins/Lobby/permissions.yml");
- private YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
- private HashMap<UUID, ArrayList<PermissionAttachment>> permissionAttachments = new HashMap<>();
- public void save() {
- try {
- cfg.save(file);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void setupFiles() {
- if(!(folder.exists())) {
- folder.mkdir();
- }
- if(!(file.exists())) {
- try {
- file.createNewFile();
- save();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public void addPermission(String permission) {
- registerPlayerIfNotExisting();
- List<String> list = cfg.getStringList("Permissions." + p.getUniqueId());
- if(!(list.contains(permission.toLowerCase()))) {
- list.add(permission.toLowerCase());
- }
- cfg.set("Permissions." + p.getUniqueId(), list);
- save();
- }
- public void removePermission(String permission) {
- registerPlayerIfNotExisting();
- List<String> list = cfg.getStringList("Permissions." + p.getUniqueId());
- if(list.contains(permission.toLowerCase())) {
- list.remove(permission.toLowerCase());
- }
- cfg.set("Permissions." + p.getUniqueId(), list);
- save();
- }
- public void updatePermissions(Player p) {
- registerPlayerIfNotExisting();
- for(PermissionAttachment pa : permissionAttachments.get(p.getUniqueId())) {
- p.removeAttachment(pa);
- }
- for(String permission : cfg.getStringList("Permissions." + p.getUniqueId())) {
- PermissionAttachment pa = p.addAttachment(Main.getPlugin(Main.class));
- pa.setPermission(permission, true);
- }
- }
- public void registerPlayerIfNotExisting() {
- if(cfg.get("Permissions." + p.getUniqueId()) == null) {
- List<String> list = new ArrayList<>();
- cfg.set("Permissions." + p.getUniqueId(), list);
- save();
- }
- if(!(permissionAttachments.containsKey(p.getUniqueId()))) {
- permissionAttachments.put(p.getUniqueId(), new ArrayList<PermissionAttachment>());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement