本帖最后由 季末旋律 于 2019-12-26 20:49 编辑 
一共两个问题:
1. 如何创建除config.yml以外的文件,因为我想创建一个data.yml用来存储玩家数据(已解决)
2. 如何记录玩家ID,并写入到data.yml这个文件中.用键值对的方式存储(已解决)源码地址:
GitHub(优先更新)
码云(可能有延迟)
一共两个问题:
1. 如何创建除config.yml以外的文件,因为我想创建一个data.yml用来存储玩家数据(已解决)
2. 如何记录玩家ID,并写入到data.yml这个文件中.用键值对的方式存储(已解决)源码地址:
GitHub(优先更新)
码云(可能有延迟)
 本帖最后由 mc能吃吗 于 2019-12-26 20:44 编辑 
嗯。。你居然是LV8 可怕
好吧 记录很简单 但是我找不到你创建文件的方法(懒得找233)
这下面封装了一个自定义配置的方法 是我用的 注意你需要有一个全局变量YamlConfiguration f;
复制代码
首先你需要确定你的data.yml属于YamlConfiguration类型
如果是普通的File类型就需要这样转换
复制代码然后?
复制代码

这是我见过最强的代码
你就不能兼容一下嘛 是在不行关插件不得了嘛[:hide:]
嗯。。你居然是LV8 可怕
好吧 记录很简单 但是我找不到你创建文件的方法(懒得找233)
这下面封装了一个自定义配置的方法 是我用的 注意你需要有一个全局变量YamlConfiguration f;
-  public void customConfig() {
 
- File f = new File(this.getDataFolder(), "save.yml");
 
-         if (f.exists()) {
 
-             this.getLogger().info("save.yml成功载入");
 
-             this.file = YamlConfiguration.loadConfiguration(f);
 
-         }
 
-         else {
 
-             this.getLogger().info("没有save.yml,正在创建");
 
-             this.saveResource("save.yml", true);
 
-             this.file = YamlConfiguration.loadConfiguration(f);
 
-         }
 
- }
 
 
首先你需要确定你的data.yml属于YamlConfiguration类型
如果是普通的File类型就需要这样转换
- YamlConfiguration yf = YamlConfiguration.loadConfiguration(f);
- yf.set(p.getName(), "假装我是数据");
 
- yf.getString(p.getName()); //return "假装我是数据"

这是我见过最强的代码
你就不能兼容一下嘛 是在不行关插件不得了嘛[:hide:]
不是跟config一个道理吗?
冰星 发表于 2019-12-26 20:40
不是跟config一个道理吗?
和config道理类似,但是不一样
mc能吃吗 发表于 2019-12-26 20:41
说实话 File f = new File("data.yml");都可以创建一个文件
当然 打个比方233
已经OK了,现在就是需要判断是否玩家ID已经被记录
 本帖最后由 mc能吃吗 于 2019-12-26 21:02 编辑 
复制代码差不多这样。但是你干嘛要获取呢233
set,有就替换 没有就新建啊
不妨给个最佳
季末旋律 发表于 2019-12-26 20:47
已经OK了,现在就是需要判断是否玩家ID已经被记录
- yf.getConfig().getKey(true) /*获得"yf"文件中所有的键值 也就是冒号前面的所有东西 以List储存*/
 
- Keys.contains(p.getName())
 
set,有就替换 没有就新建啊
不妨给个最佳
 本帖最后由 1837019522 于 2019-12-28 23:45 编辑 
我这里贴上一段代码看注释复制代码
我这里贴上一段代码看注释
- public class NewPlayer implements Listener{
 
-         
 
-         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
 
-         
 
-         @EventHandler
 
-         public void NewPlaye(PlayerJoinEvent e) {
 
-                 List<String> player = new ArrayList<String>();
 
-                 List<String> uuid = new ArrayList<String>();
 
-                 List<String> Time = new ArrayList<String>();
 
-                 //建立泛型存储数据
 
-                 File join = new File(Config().getDataFolder(),"date.yml");
 
-                 FileConfiguration Join = YamlConfiguration.loadConfiguration(join);
 
-                 //建立文件
 
-                 player = Join.getStringList("Player");
 
-                 uuid = Join.getStringList("Uuid");
 
-                 Time = Join.getStringList("Time");
 
-                 //将date.yml文件内数据读入泛型
 
-                 if(!Join.getStringList("Uuid").contains(e.getPlayer().getUniqueId().toString()) && !Join.getStringList("Player").contains(e.getPlayer().getName())) {
 
-                         //判断玩家是否已经存储在文件里
 
-                         player.add(e.getPlayer().getName());
 
-                         uuid.add(e.getPlayer().getUniqueId().toString());
 
-                         Time.add(e.getPlayer().getName()+":"+e.getPlayer().getUniqueId().toString()+":"+df.format(new Date()));
 
-                         //将玩家添加进泛型
 
-                         Join.set("Player", player);
 
-                         Join.set("Uuid", uuid);
 
-                         Join.set("Time", Time);
 
-                         //将泛型存入缓存
 
-                         try {
 
-                                 Join.save(join);
 
-                                 //保存文件 需要用try
 
-                         }catch(IOException ee) {
 
-                                 ee.printStackTrace();
 
-                         }
 
-                 }
 
-         }
 
- }