Solved Problem in own permission plugin

Discussion in 'Plugin Development' started by whereisthemonkey, Dec 21, 2015.

Thread Status:
Not open for further replies.
  1. Hey together,

    I never worked with a String permission plugin yet and I had some trouble getting into it:

    PHP:
    public class MainPermission {

        public static 
    void givePlayerPermission(MainPlayer player){
            
    ServerRank rank player.getServerRank();
            if(
    rank.equals(ServerRank.STONE)){
                
    setPermission("ADD"playerDataFiles.PermissionConf.getStringList("STONE"));
            }else if(
    rank.equals(ServerRank.COAL)){
                
    setPermission("ADD"playerDataFiles.PermissionConf.getStringList("COAL"));
            }else if(
    rank.equals(ServerRank.IRON)){
                
    setPermission("ADD"playerDataFiles.PermissionConf.getStringList("IRON"));
            }else if(
    rank.equals(ServerRank.GOLD)){
                
    setPermission("ADD"playerDataFiles.PermissionConf.getStringList("GOLD"));
            }else if(
    rank.equals(ServerRank.REDSTONE)){
                
    setPermission("ADD"playerDataFiles.PermissionConf.getStringList("REDSTONE"));
            }else if(
    rank.equals(ServerRank.EMERALD)){
                
    setPermission("ADD"playerDataFiles.PermissionConf.getStringList("EMERALD"));
            }else if(
    rank.equals(ServerRank.DIAMOND)){
                
    setPermission("ADD"playerDataFiles.PermissionConf.getString("DIAMOND"));
            }
        }

        public static 
    void removePlayerPermission(MainPlayer player){
            
    setPermission("REMOVE"player"*");
        }

        private static 
    boolean setPermission(String typeMainPlayer playerString permission){
            if(
    type.equalsIgnoreCase("ADD")){
                
    PermissionAttachment attachment player.getPlayer().addAttachment(MainClass.getInstance());
                
    attachment.setPermission(permissiontrue);
            
    //            player.getPlayer().sendMessage(ChatColor.DARK_GREEN + "Permission " + permission + " given");
            
                
    return true;
            }else if(
    type.equalsIgnoreCase("REMOVE")){
                
    PermissionAttachment attachment player.getPlayer().addAttachment(MainClass.getInstance());
                
    attachment.setPermission(permissionfalse);
            
    //            player.getPlayer().sendMessage(ChatColor.DARK_GREEN + "Permission " + permission + " removed");
            
                
    return true;
            }
            return 
    false;
        }

        private static 
    boolean setPermission(String typeMainPlayer player, List<Stringpermission){
            for(
    String s permission){
                
    setPermission(typeplayers);
            }
            return 
    true;
        }

        public static 
    void initFile(){
            if(!
    DataFiles.PermissionsFile.exists()){
                try {
                    
    DataFiles.PermissionsFile.createNewFile();
                
                    
    ArrayList<StringSTONE = new ArrayList<>();
                    
    STONE.add("bukkit.command.version");
                    
    STONE.add("bukkit.command.plugins");
                    
    STONE.add("bukkit.command.help");
                    
    STONE.add("bukkit.command.tell");
                
                    
    ArrayList<StringCOAL = new ArrayList<>();
                    
    COAL.add("bukkit.command.version");
                    
    COAL.add("bukkit.command.plugins");
                    
    COAL.add("bukkit.command.help");
                    
    COAL.add("bukkit.command.tell");
                    
    COAL.add("bukkit.command.list");
                
                    
    ArrayList<StringIRON = new ArrayList<>();
                    
    IRON.add("bukkit.command.version");
                    
    IRON.add("bukkit.command.plugins");
                    
    IRON.add("bukkit.command.help");
                    
    IRON.add("bukkit.command.tell");
                    
    IRON.add("bukkit.command.list");
                
                    
    ArrayList<StringGOLD = new ArrayList<>();
                    
    GOLD.add("bukkit.command.version");
                    
    GOLD.add("bukkit.command.plugins");
                    
    GOLD.add("bukkit.command.help");
                    
    GOLD.add("bukkit.command.tell");
                    
    GOLD.add("bukkit.command.list");
                
                    
    ArrayList<StringREDSTONE = new ArrayList<>();
                    
    REDSTONE.add("bukkit.command.version");
                    
    REDSTONE.add("bukkit.command.plugins");
                    
    REDSTONE.add("bukkit.command.help");
                    
    REDSTONE.add("bukkit.command.tell");
                    
    REDSTONE.add("bukkit.command.list");
                    
    REDSTONE.add("bukkit.command.banlist");
                    
    REDSTONE.add("bukkit.command.kick");
                    
    REDSTONE.add("bukkit.command.kill");
                    
    REDSTONE.add("bukkit.command.me");
                    
    REDSTONE.add("bukkit.command.says");
                    
    REDSTONE.add("bukkit.command.seed");
                    
    REDSTONE.add("bukkit.command.tellraw");
                    
    REDSTONE.add("bukkit.command.tp");
                    
    REDSTONE.add("MainPlugin.command.entity");
                    
    REDSTONE.add("MainPlugin.command.permission");
                
                    
    ArrayList<StringEMERALD = new ArrayList<>();
                    
    EMERALD.add("bukkit.command.version");
                    
    EMERALD.add("bukkit.command.plugins");
                    
    EMERALD.add("bukkit.command.help");
                    
    EMERALD.add("bukkit.command.tell");
                    
    EMERALD.add("bukkit.command.list");
                    
    EMERALD.add("bukkit.command.banlist");
                    
    EMERALD.add("bukkit.command.kick");
                    
    EMERALD.add("bukkit.command.kill");
                    
    EMERALD.add("bukkit.command.me");
                    
    EMERALD.add("bukkit.command.say");
                    
    EMERALD.add("bukkit.command.seed");
                    
    EMERALD.add("bukkit.command.tellraw");
                    
    EMERALD.add("bukkit.command.tp");
                    
    EMERALD.add("bukkit.command.achievement");
                    
    EMERALD.add("bukkit.command.ban");
                    
    EMERALD.add("bukkit.command.ban-ip");
                    
    EMERALD.add("bukkit.command.clear");
                    
    EMERALD.add("bukkit.command.debug");
                    
    EMERALD.add("bukkit.command.difficulty");
                    
    EMERALD.add("bukkit.command.effect");
                    
    EMERALD.add("bukkit.command.enchant");
                    
    EMERALD.add("bukkit.command.gamemode");
                    
    EMERALD.add("bukkit.command.give");
                    
    EMERALD.add("bukkit.command.pardon");
                    
    EMERALD.add("bukkit.command.pardon-ip");
                    
    EMERALD.add("bukkit.command.playsound");
                    
    EMERALD.add("bukkit.command.scoreboard");
                    
    EMERALD.add("bukkit.command.setblock");
                    
    EMERALD.add("bukkit.command.setidletimeout");
                    
    EMERALD.add("bukkit.command.summon");
                    
    EMERALD.add("bukkit.command.testfor");
                    
    EMERALD.add("bukkit.command.testforblock");
                    
    EMERALD.add("bukkit.command.time");
                    
    EMERALD.add("bukkit.command.toggledownfall");
                    
    EMERALD.add("bukkit.command.weather");
                    
    EMERALD.add("bukkit.command.xp");
                    
    EMERALD.add("MainPlugin.command.entity");
                    
    EMERALD.add("MainPlugin.command.permission");
                
                
                    
    DataFiles.PermissionConf.set("STONE"STONE);
                    
    DataFiles.PermissionConf.set("COAL"COAL);
                    
    DataFiles.PermissionConf.set("IRON"IRON);
                    
    DataFiles.PermissionConf.set("GOLD"GOLD);
                    
    DataFiles.PermissionConf.set("REDSTONE"REDSTONE);
                    
    DataFiles.PermissionConf.set("EMERALD"EMERALD);
                    
    DataFiles.PermissionConf.set("DIAMOND""*");
                
                    
    DataFiles.PermissionConf.save(DataFiles.PermissionsFile);
                
                } catch (
    IOException e) {
                    
    e.printStackTrace();
                }
            }
        }
    Everything works fine, the permissions are given to the player (seen while debugging), but whenever I ask if the player has a specific permission, it always returns true, even the rank doesn't give you the permission.

    Could anybody please help me.

    The permissions are loaded for each player when he joins and MainPlayer is a own class used to control the player from different aspects, the problem is not coming from this class
     
    Last edited: Dec 22, 2015
  2. Offline

    Zombie_Striker

    @whereisthemonkey
    I honestly do not know why you made this class. Why can't you just use
    Code:
       
    [LIST]
    [*]          PermissionAttachment attachment = player.getPlayer().addAttachment(MainClass.getInstance());
    [/LIST]
    
    [LIST]
    [*]            attachment.setPermission(DataFiles.PermissionConf.getString("DIAMOND"), false or true);
    [/LIST]
    
     
  3. I found the problem, I forgot to de-op myself. Thanks for every help!
     
Thread Status:
Not open for further replies.

Share This Page