何昌浩
问题如标题,本小弟是小白刚刚接触开发,跪求带佬们教教
呜呜呜这真的是本小弟搞不懂的问题。。
我知道怎么获取玩家输入的字符串就是不知道怎么保存
(类似保存到一个yml可以拿出来使用)
跪求大佬帮助!!!

BellTune
  1. YamlConfiguration yaml = new YamlConfiguration();
  2. File file = new File("这里写你要保存的路径");
  3. if(!file.exists){
  4.     file.getParentFile().mkdirs();
  5.     file.createNewFile();   <<< 此处省略try catch
  6. }
  7. yaml.set(player.getName() + "-" + System.currentTimeMillis() ,event.getMessage());
  8. yaml.save(file);
复制代码

William_Shi
这种问题没办法教。。。保存方式有无数种,你应该自己学习一下YAML、JSON等相关的操作

何昌浩

追问一下带佬,为什么退出再进入服务器称号就没有了呢?

William_Shi
何昌浩 发表于 2020-7-17 11:40
追问一下带佬,为什么退出再进入服务器称号就没有了呢?

具体代码?我们没有办法量子诊断

何昌浩
William_Shi 发表于 2020-7-17 13:24
具体代码?我们没有办法量子诊断

emmmmm
        @EventHandler
        public void bossbar(AsyncPlayerChatEvent event) throws IOException{
                Player player = (Player) event.getPlayer();
                int level = Level.getConfig().getInt("OF.Level_int");
                String message = event.getMessage();
                YamlConfiguration yaml = new YamlConfiguration();
                File file = new File(message);
                if(player.getScoreboardTags().contains("title")){
                        player.sendMessage("§f[§2系统§F]: 你的称号为" + file + " §f!");;
                        player.setDisplayName(player.getDisplayName() + "§b§l称号" + file + "§f");
                        player.removeScoreboardTag("title");
                        }
                yaml.set(player.getName() + "-" + System.currentTimeMillis() ,event.getMessage());
                yaml.save(file);
        }

William_Shi
何昌浩 发表于 2020-7-17 14:46
emmmmm
        @EventHandler
        public void bossbar(AsyncPlayerChatEvent event) throws IOException{


String message = event.getMessage();
File file = new File(message);

文件可能不存在

William_Shi
何昌浩 发表于 2020-7-17 14:46
emmmmm
        @EventHandler
        public void bossbar(AsyncPlayerChatEvent event) throws IOException{


                if(player.getScoreboardTags().contains("title")){
                        
                        xxx

                        player.removeScoreboardTag("title");

你下次再进,都没这Tag了,那就不能再

                        player.setDisplayName(player.getDisplayName() + "§b§l称号" + file + "§f");

而且为什么要把File对象放在字符串里??????

何昌浩
William_Shi 发表于 2020-7-17 15:31
String message = event.getMessage();
File file = new File(message);

玩家触发后会有称号就是退出之后加入服务器就没有了

为什么文件会不存在呢??
还请大佬解答一二!谢谢啦!!

何昌浩
William_Shi 发表于 2020-7-17 15:33
if(player.getScoreboardTags().contains("title")){
                        
       ...

我是想设置后缀suiif称号才这么做的 是哪里出问题了吗

何昌浩
William_Shi 发表于 2020-7-17 15:33
if(player.getScoreboardTags().contains("title")){
                        
       ...

好 谢谢大佬我大概知道了

William_Shi
何昌浩 发表于 2020-7-17 15:40
玩家触发后会有称号就是退出之后加入服务器就没有了

为什么文件会不存在呢??

文件不会凭空出现,肯定是你自己新建了文件才会有的
注意,就算是不存在的路径,也可以有一个File对象
就是说无论文件是不是在硬盘里面存在,都可以有File对象

William_Shi
何昌浩 发表于 2020-7-17 15:48
好 谢谢大佬我大概知道了

看一下我的私聊,我给你解答了
反复理解一下海螺螺大佬的关于Future和事件监听搭配的教程