FileManager another player

Discussion in 'Plugin Development' started by MareX, Jan 26, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    MareX

    I have a question.
    If i use command "/id" then i can see my person id which introduced with use command "/id change <name> <surname> etc."
    How i can show person id another players? If use command /id see <player>
    I use FileManager writing on java for save player data.

    I'm sorry for my not good english, i'm from Poland.
     
  2. Offline

    Skionz

    @MareX What is 'FileManager?' Is it a library? Please post a link and explain how exactly you are getting the player's 'id.'
     
  3. Offline

    MareX

    I know what i must change, but i don't know how.
    I must change "public static File getPlayerFile(Player p){" on this he does not need a player but his need nickname. How i must change this? This is FileManager code, yes FileManager is easy data base players.
    Code:
    package me.marex.PersonID;
    
    import java.io.File;
    import java.io.IOException;
    
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.entity.Player;
    
    public class FileManager{
      
        private static File df = main.instance.getDataFolder();
        private static File cfg = new File(df, "config.yml");
        private static File users = new File(df, "users");
        private static YamlConfiguration cfgYml;
      
        public static void checkDataFolder(){
            if(!df.exists()){
                df.mkdir();
    }
    }
        public static void checkUsersFolder(){
            if(!users.exists()){
                users.mkdir();
    }
    }
        public static void checkCfg(){
            if(!cfg.exists()){
                try{
                    cfg.createNewFile();
    }
                catch (IOException e){
                    e.printStackTrace();
    }  
    }
            cfgYml = YamlConfiguration.loadConfiguration(cfg);
    }
        public static void saveCfg(){
            try{
                cfgYml.save(cfg);
    }
            catch(IOException e){
                e.printStackTrace();
    }
    }
        public static YamlConfiguration getCfg(){
            return cfgYml;
    }
        public static void reloadCfg(){
            cfgYml = YamlConfiguration.loadConfiguration(cfg);
    }
        public static File getPlayerFile(Player p){
            return new File(main.instance.getDataFolder() + File.separator + "users" + File.separator + p.getName().toLowerCase() + ".yml");
    }
        public static YamlConfiguration getPlayerYamlFile(Player p){
            File pFile = FileManager.getPlayerFile(p);
            return YamlConfiguration.loadConfiguration(pFile);
        }
        public static void savePlayerFile(File pFile, YamlConfiguration pYml){
            try{
                pYml.save(pFile);
    }
            catch(IOException e){
                e.printStackTrace();
    }
    }
    }
     
  4. Offline

    CraftCreeper6

    @MareX
    Why is everything static?
     
  5. Offline

    Skionz

    @MareX What is wrong with using 'getPlayerFile()' on the target player?
     
  6. Offline

    MareX

    @CraftCreeper6
    I am a new developer, I watched the tutorial on youtube as create FileManager for players, and so it was on tutorial

    @Skionz
    I wants to achieve is that when you type the command / d see <nick_player> I see the data of another player.
    This is my code for command /id
    Code:
    package me.marex.PersonID.komendy;
    
    import java.io.File;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.entity.Player;
    
    import me.marex.PersonID.main;
    import me.marex.PersonID.FileManager;
    
    public class id implements CommandExecutor{
      
        public id(main plugin){}
      
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
      
        if(cmd.getName().equalsIgnoreCase("id")){
            if(!(sender instanceof Player)){
                sender.sendMessage(ChatColor.WHITE + "[" + ChatColor.YELLOW + "PersonID" + ChatColor.WHITE + "]" + ChatColor.DARK_RED + " You are not a player!");
                return false;
    }
              
            Player p = (Player) sender;
              
                    if(args.length == 0){
                      
                        String name;
                        String surname;
                        String age;
                        String height;
                        String weight;
                      
                        if(FileManager.getPlayerYamlFile(p).getString("Name") !=null){
                        name = FileManager.getPlayerYamlFile(p).getString("Name");
                        } else {
                        name = "You have not selected name.";
                        }
                          
                        if(FileManager.getPlayerYamlFile(p).getString("Surname") !=null){
                        surname = FileManager.getPlayerYamlFile(p).getString("Surname");
                        } else {
                        surname = "You have not selected surname.";
                        }
                          
                        if(FileManager.getPlayerYamlFile(p).getString("Age") !=null){
                        age = FileManager.getPlayerYamlFile(p).getString("Age");
                        } else {
                        age = "You have not selected age.";
                        }
                          
                        if(FileManager.getPlayerYamlFile(p).getString("Height") !=null){
                        height = FileManager.getPlayerYamlFile(p).getString("Height");
                        } else {
                        height = "You have not selected height.";
                        }
                          
                        if(FileManager.getPlayerYamlFile(p).getString("Weight") !=null){
                        weight = FileManager.getPlayerYamlFile(p).getString("Weight");
                        } else {
                        weight = "You have not selected weight.";
                        }
      
                        String ppp = p.getAddress().getAddress().toString();
                        String ip = ppp.replaceAll("/", "");
                      
                        p.sendMessage(ChatColor.YELLOW + "=-=-=-=-=-=-=" + ChatColor.WHITE + " | PersonID v1.0 | " + ChatColor.YELLOW + "=-=-=-=-=-=-=");
                        p.sendMessage(ChatColor.GREEN + "Your Nickname: " + ChatColor.DARK_GREEN + p.getName());
                        p.sendMessage(ChatColor.GREEN + "Your IP: " + ChatColor.DARK_GREEN + ip);
                        p.sendMessage("");
                        p.sendMessage(ChatColor.GREEN + "Name: " + ChatColor.DARK_GREEN + name);
                        p.sendMessage(ChatColor.GREEN + "Surname: " + ChatColor.DARK_GREEN + surname);
                        p.sendMessage(ChatColor.GREEN + "Age: " + ChatColor.DARK_GREEN + age);
                        p.sendMessage(ChatColor.GREEN + "Height: " + ChatColor.DARK_GREEN + height);
                        p.sendMessage(ChatColor.GREEN + "Weight: " + ChatColor.DARK_GREEN + weight);
                        p.sendMessage("");
                        p.sendMessage(ChatColor.GREEN + "More commands " + ChatColor.GOLD + "/id help");
                        p.sendMessage(ChatColor.YELLOW + "=-=-=-=-=-=-=" + ChatColor.WHITE + " | PersonID v1.0 | " + ChatColor.YELLOW + "=-=-=-=-=-=-=");
                    }
                else if(args[0].equalsIgnoreCase("change")){
                        if(args.length == 6){
                            File pFile = FileManager.getPlayerFile(p);
                            YamlConfiguration pYml = FileManager.getPlayerYamlFile(p);
                          
                            if((pYml.get("Name") !=null) && (pYml.get("Surname") !=null) && (pYml.get("Age") !=null) && (pYml.get("Height") !=null) && (pYml.get("Weight") !=null)) {
                                p.sendMessage(ChatColor.WHITE + "[" + ChatColor.YELLOW + "PersonID" + ChatColor.WHITE + "]" + ChatColor.GREEN + " You have already chosen the person ID. Type " + ChatColor.GOLD + "/id reset " + ChatColor.GREEN + "to reset!");
                                    return false;
                            }
                          
                            String name = args[1];
                            String surname = args[2];
                            String age = args[3];
                            String height = args[4];
                            String weight = args[5];                                                
                              
                            p.sendMessage(ChatColor.GREEN + "Your new name is: " + ChatColor.DARK_GREEN + name);
                            p.sendMessage(ChatColor.GREEN + "Your new surname is: " + ChatColor.DARK_GREEN + surname);
                            p.sendMessage(ChatColor.GREEN + "Your new age is: " + ChatColor.DARK_GREEN + age);
                            p.sendMessage(ChatColor.GREEN + "Your new height is: " + ChatColor.DARK_GREEN + height);
                            p.sendMessage(ChatColor.GREEN + "Your new weight is: " + ChatColor.DARK_GREEN + weight);
                            p.sendMessage("");
                            p.sendMessage(ChatColor.GREEN + "Type " + ChatColor.GOLD + "/id " + ChatColor.GREEN + "to see your ID");
                  
                            pYml.set("Name", name);
                            pYml.set("Surname", surname);
                            pYml.set("Age", age);
                            pYml.set("Height", height);
                            pYml.set("Weight", weight);
                          
                            FileManager.savePlayerFile(pFile, pYml);
                          
                        }
                        if(args.length >=7){
                            p.sendMessage(ChatColor.WHITE + "[" + ChatColor.YELLOW + "PersonID" + ChatColor.WHITE + "]" + ChatColor.GREEN + " If you want register your person ID, please use command " + ChatColor.GOLD + " /id change <name> <surname> <age> <height> <weight>");
                }
                        if(args.length <= 4){
                            p.sendMessage(ChatColor.WHITE + "[" + ChatColor.YELLOW + "PersonID" + ChatColor.WHITE + "]" + ChatColor.GREEN + " If you want register your person ID, please use command " + ChatColor.GOLD + " /id change <name> <surname> <age> <height> <weight>");
                        }
                }
                    else if(args[0].equalsIgnoreCase("help")){
                        p.sendMessage(ChatColor.YELLOW + "=-=-=-=-=-=-=-=-=-=" + ChatColor.WHITE + " | PersonID v1.0 | " + ChatColor.YELLOW + "=-=-=-=-=-=-=-=-=-=");
                        p.sendMessage(ChatColor.GREEN + "/id" + ChatColor.GOLD + ChatColor.WHITE + " | " + ChatColor.GOLD + " Will show your ID");
                        p.sendMessage(ChatColor.GREEN + "/id change" + ChatColor.WHITE + " | " + ChatColor.GOLD + " Choose your person ID");
                        p.sendMessage(ChatColor.GREEN + "/id reset" + ChatColor.WHITE + " | " + ChatColor.GOLD + " Reset your ID account. You can use this only one time on 7 days!");
                        p.sendMessage(ChatColor.GREEN + "/id author" + ChatColor.WHITE + " | " + ChatColor.GOLD + "Information about author");
                        p.sendMessage(ChatColor.YELLOW + "=-=-=-=-=-=-=-=-=-=" + ChatColor.WHITE + " | PersonID v1.0 | " + ChatColor.YELLOW + "=-=-=-=-=-=-=-=-=-=");
            }
                    else if(args[0].equalsIgnoreCase("reset")){
                      
                        File pFile = FileManager.getPlayerFile(p);
                        YamlConfiguration pYml = FileManager.getPlayerYamlFile(p);
                      
                        pYml.set("Name", null);
                        pYml.set("Surname", null);
                        pYml.set("Age", null);
                        pYml.set("Height", null);
                        pYml.set("Weight", null);
                      
                        FileManager.savePlayerFile(pFile, pYml);
                      
    
                        p.sendMessage(ChatColor.WHITE + "[" + ChatColor.YELLOW + "PersonID" + ChatColor.WHITE + "]" + ChatColor.GREEN + " Your personal ID has been reset");
    
                    }
                    else if(args[0].equalsIgnoreCase("author")){
                        p.sendMessage(ChatColor.GREEN + "This plugin is created by " + ChatColor.GOLD + "MareX");
                        p.sendMessage(ChatColor.GREEN + "Channel on YouTube: " + ChatColor.GOLD + "www.youtube.com/themarexpl");
                    }
                    else if(args[0].equalsIgnoreCase("see")){
                        // Here is this command /id see <player_name> how i can create this?
                    }
            else{
                sender.sendMessage(ChatColor.WHITE + "[" + ChatColor.YELLOW + "PersonID" + ChatColor.WHITE + "]" + ChatColor.GREEN + " If you want learn information about command, type" + ChatColor.GOLD + " /id help " + ChatColor.GREEN + "to get help");
    }
    }
        return false;
    }
    }
     
    Last edited by a moderator: Jan 26, 2015
  7. Code:java
    1.  
    2. public Strign c(String string) {
    3. return ChatColor.translateAlternateColorCodes('&', string);
    4. }
    5. player.sendMessage(c("&bHello bb"));
    6.  
     
Thread Status:
Not open for further replies.

Share This Page