今朝i
例如像
端路径/plugins/CommandAttributes/PlayerData
如何将玩家的数据以yml的形式写入并读取PlayerData中以玩家的UUID命名的数据

南柯郡守
你的做法或者想法呢

先说说你尝试过什么样的方法吧

byxiaobai
示例地址:ToolAPI/ConfigManager.java at master · byxiaobai/ToolAPI · GitHub
  1. /**
  2.                  * 加载配置文件
  3.                  * @param plugin 插件主类
  4.                  * @param configName 配置文件名 带.yml
  5.                  * [url=home.php?mod=space&uid=491268]@Return[/url] 配置文件
  6.                  */
  7.                 public static Config loadConfig(Plugin plugin,String configName) {
  8.                         File pluginDataFolder=plugin.getDataFolder();
  9. //在此处拓展pluginDataFolder,加一个PlayerData即可
  10.                         File configFile = new File(pluginDataFolder, configName);
  11.                     if (!pluginDataFolder.exists())pluginDataFolder.mkdir();
  12.                     if (!configFile.exists())plugin.saveResource(configName, true);
  13.                     Config config=new Config(configFile,YamlConfiguration.loadConfiguration(configFile));
  14.                     
  15.                     return config;
  16.                 }
复制代码


结冰的离季
构造对象序列化(将玩家数据处理为String数据流储存)与反序列化方法(将String数据流构造为玩家实体),推荐用json或者yml格式。如果是自己实现的话就类似于自己获取玩家的名字、经验、等属性然后按照自己设计的格式储存到文件中,读取反之。(uuid可以直接        getUniqueId() 获取)。
至于路径问题就是普通的java文件读取基础+bukkit的文件读取
  1. File file = new File(Main.getPlugin().getDataFolder()+File.separator+"子文件夹","uuid01.yml");
  2. //以上类似路径.../myplugin/子文件夹/uuid01.yml
  3. if (!file.exists()) {//文件不存在则创建一个
  4.    System.out.println("配置不存在");
  5.    file.getParentFile().mkdirs();
  6. }
  7. FileConfiguration config = YamlConfiguration.loadConfiguration(file);//读取文件
  8. config.save(file)  //保存该文件到路径
复制代码


Lanscarlos
  1. try {
  2.                         Player player;
  3.                         File file = new File("./plugins/CommandAttributes/PlayerData/" + player.getUniqueId() + ".yml");
  4.                         FileConfiguration config = YamlConfiguration.loadConfiguration(file);
  5.                         config.set("...<键>...", "...<值>...");
  6.                         config.save(file); // 保存文件
  7.                 } catch (IOException e) {
  8.                         e.printStackTrace();
  9.                 }
复制代码

第一页 上一页 下一页 最后一页