Minecraft(我的世界)中文论坛

标题: Day's 水桶插件开发教程 第四章 配置文件

作者: whatafcukday    时间: 2015-5-2 19:49
标题: Day's 水桶插件开发教程 第四章 配置文件
本帖最后由 whatafcukday 于 2015-7-30 08:54 编辑
Day’s 水桶插件开发教程第四章 配置文件
讲的不好欢迎指正

在开始这章前先纠正一下上一章的东西
在提示中的代码框架其实是有错误的~ 用心看了教程的小伙伴就会发现
少了判断玩家是否存在 以及传送那一段也写错了
我!真!的!是!特!意!的!
上一章全懂了作业也做了的童鞋回帖发作业代码。。为了补偿你们我要发人气金币了!
在水桶插件中,Bukkit给出了一个默认的配置文件:config.yml
关于这货的方法,比较常用的有reloadConfig(); 重新读取config.yml  还有一个saveDefaultConfig(); 其作用为保存并读取config.yml  config.yml不存在时将jar中自带的config拉到工作目录下。
所以我们经常这样加载config:
getDataFolder()为获取工作目录 就是\plugins\插件名 这个文件夹
当工作目录不存在时,先新建工作目录,当config不存在时,saveDefaultConfig,然后再reloadConfig();

那么这样写又有什么用呢?
小栗子
在上节课的pluginname插件的onEnable方法中添加加载config的那一段 (下面是做好了的,能不看就不看)
发现saveDefaultConfig()还有点问题 要是config不存在时会从jar里吧默认的config拉出来,我们先把默认的config.yml创建好,plugin.yml的创建方法相同,不用把编码改成UTF-8
然后在里面写上:
Message: §aHello!
§的打法是alt按住+1+6+7+松开alt 在插件中也要用这个当做颜色代码的&,记得冒号后的空格
好了这是默认的config创建/加载方法,接下来我们假如要创建其他的配置文件怎么办呢?
好好看,很有用的

接下来配置怎么读取呢?
继续介绍方法。。
取默认config = getConfig()
取自己定义的配置文件 = 直接用那个FileConfiguration类型的变量即可 成员变量记得+this关键字,好习惯...
先了解一下yaml格式路径

读写配置文件基本的方法
假如我要读取默认config.yml中的Message栏 然后写入另外的内容

回顾一下这一章所学的内容



作业:
当执行命令/day message 时 对发送者发送默认config中的Message栏消息
依旧我密密麻麻的风格
回到索引
我才几级啊你们看懂了的有金币有人气的都撒起来吧! 没看懂的跟帖问完之后继续金币人气撒起来吧!




作者: whatafcukday    时间: 2015-5-3 07:30
yaml格式路径那一段无视乱码!{:10_503:}
作者: wodeshijieglq    时间: 2015-5-3 11:46
为啥还是没有人......
作者: 桃渊林    时间: 2015-5-4 13:09
这个Try的T要小写吧

作者: 桃渊林    时间: 2015-5-4 13:12
已测试,Try这样写会编译不过,楼主要修改?
作者: whatafcukday    时间: 2015-5-4 16:50
hcrgm1 发表于 2015-5-4 13:12
已测试,Try这样写会编译不过,楼主要修改?

恩小写, 但改又得审核了
作者: 桃渊林    时间: 2015-5-5 13:03
whatafcukday 发表于 2015-5-4 16:50
恩小写, 但改又得审核了

其实我告诉你有技巧,在快十点的时候再编辑帖子,你没注意审核大部分都是十点多?
还有你也没讲如何在代码里保存一个配置(不以jar包里出现config.yml及保存默认配置的方式进行,这个比较重要)
作者: whatafcukday    时间: 2015-5-5 16:41
本帖最后由 whatafcukday 于 2015-5-5 16:47 编辑
hcrgm1 发表于 2015-5-5 13:03
其实我告诉你有技巧,在快十点的时候再编辑帖子,你没注意审核大部分都是十点多?
还有你也没讲如何在代 ...

我勒个去。。。谢谢提醒 保存居然忘写了

作者: zghh008    时间: 2015-5-5 23:04
膝盖膝盖
作者: zghh008    时间: 2015-5-5 23:10
支持.................
作者: wodeshijieglq    时间: 2015-5-9 12:45
  1. package com.github.jiaocheng;

  2. import org.bukkit.Bukkit;
  3. import org.bukkit.Location;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.plugin.java.JavaPlugin;


  8. public class pluginname extends JavaPlugin{
  9.         public void onEnable() {
  10.                 getLogger().info("启动了!!!!!");
  11.                 //做你想做的事0.0
  12.         }
  13.         
  14.         public void onDisable() {
  15.                 getLogger().info("关闭了!!!!!");
  16.                 //做你想做的事0.0
  17.         }
  18.         public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args)  {
  19.                 if (label.equalsIgnoreCase("day")) {}
  20.                 if (args[0].equalsIgnoreCase("tp")) {
  21.                 }else if (args[0].equalsIgnoreCase("msg")) {if (!(sender instanceof Player)) {} else {getLogger().info("控制台无法使用此命令");}}
  22.                 Player p = (Player)sender;
  23.                 if (Bukkit.getServer().getPlayer(args[1])!=null) {
  24.                         Player p2 = Bukkit.getServer().getPlayer(args[1]);
  25.                         Location qz = p2.getLocation();
  26.                         p.teleport(qz);
  27.                         p.sendMessage("传送成功");
  28.                 } else {p.sendMessage("该玩家不存在");}
  29.                
  30.                         return false;}
  31.         }
复制代码



作者: wodeshijieglq    时间: 2015-5-9 12:45
wodeshijieglq 发表于 2015-5-9 12:45

是......这样的吗
作者: whatafcukday    时间: 2015-5-9 13:08
wodeshijieglq 发表于 2015-5-9 12:45
是......这样的吗

不对
嵌套关系知道吗
你想想
要是命令正确 参数0也是tp 那么应该怎么判断?
要是我说判断xxx 要是xxx就继续
那么这个继续肯定是在if 中写 "否则"
就在else中写
就像这样:

if (条件) {
继续在里面写代码 (继续)
} else
输出错误提示

作者: wodeshijieglq    时间: 2015-5-9 18:41
whatafcukday 发表于 2015-5-9 13:08
不对
嵌套关系知道吗
你想想

我懂了.....................
作者: wodeshijieglq    时间: 2015-5-9 18:45

  1. package com.github.jiaocheng;

  2. import org.bukkit.Bukkit;
  3. import org.bukkit.Location;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.plugin.java.JavaPlugin;


  8. public class pluginname extends JavaPlugin{
  9.         public void onEnable() {
  10.                 getLogger().info("启动了!!!!!");
  11.                 //做你想做的事0.0
  12.         }
  13.         
  14.         public void onDisable() {
  15.                 getLogger().info("关闭了!!!!!");
  16.                 //做你想做的事0.0
  17.         }
  18.         public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args)  {
  19.                 if (label.equalsIgnoreCase("day")) {}
  20.                 if (args[0].equalsIgnoreCase("tp")) {
  21.                     Player p = (Player)sender;
  22.                     if (Bukkit.getServer().getPlayer(args[1])!=null) {
  23.                             Player p2 = Bukkit.getServer().getPlayer(args[1]);
  24.                             Location qz = p2.getLocation();
  25.                             p.teleport(qz);
  26.                             p.sendMessage("传送成功");
  27.                     } else {p.sendMessage("该玩家不存在");}
  28.                 }else if (args[0].equalsIgnoreCase("msg")) {if (!(sender instanceof Player)) {} else {getLogger().info("控制台无法使用此命令");}}
  29.                         return false;}
  30.         }
复制代码
@whatafcukday


作者: 914554688wyt    时间: 2015-5-9 18:47
wodeshijieglq 发表于 2015-5-9 18:45
@whatafcukday

==。 我就来看一眼 你的if (label.equalsIgnoreCase("day")) 不对 你继续想想应该包括住什么东西 条件要越来越细化
作者: wodeshijieglq    时间: 2015-5-9 18:51
914554688wyt 发表于 2015-5-9 18:47
==。 我就来看一眼 你的if (label.equalsIgnoreCase("day")) 不对 你继续想想应该包括住什么东西 条件要越 ...

QAQ.....可是....教程是这样的0.0这个不是判断是不是他管得.如果是他管得,就运行下面的吗0.0QAQ
作者: wodeshijieglq    时间: 2015-5-9 19:04
  1. package com.github.jiaocheng;

  2. import org.bukkit.Bukkit;
  3. import org.bukkit.Location;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.plugin.java.JavaPlugin;


  8. public class pluginname extends JavaPlugin{
  9.         public void onEnable() {
  10.                 getLogger().info("启动了!!!!!");
  11.                 //做你想做的事0.0
  12.         }
  13.         
  14.         public void onDisable() {
  15.                 getLogger().info("关闭了!!!!!");
  16.                 //做你想做的事0.0
  17.         }
  18.         public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args)  {
  19.                 if (label.equalsIgnoreCase("day")) {}
  20.                 if (args[0].equalsIgnoreCase("tp")) {
  21.                         if (!(sender instanceof Player)) {
  22.                                 Player p = (Player)sender;
  23.                         if (Bukkit.getServer().getPlayer(args[1])!=null) {
  24.                                 Player p2 = Bukkit.getServer().getPlayer(args[1]);
  25.                                 Location qz = p2.getLocation();
  26.                                 p.teleport(qz);
  27.                                 p.sendMessage("传送成功");
  28.                         } else {p.sendMessage("该玩家不存在");}
  29.                         }
  30.                                 } else {getLogger().info("控制台无法使用此命令");};
  31.                         return false;}
  32.         }
复制代码
我似乎懂了一些.........
作者: 914554688wyt    时间: 2015-5-9 19:12
wodeshijieglq 发表于 2015-5-9 19:04
我似乎懂了一些.........

{:10_530:} 醉了醉了
如果归他管的就执行下面的 你无论如何都执行下面的好不好==。 小伙子先去学好java
作者: wodeshijieglq    时间: 2015-5-9 19:17
914554688wyt 发表于 2015-5-9 19:12
醉了醉了
如果归他管的就执行下面的 你无论如何都执行下面的好不好==。 小伙子先去学好java ...

这会对了一点不.......
作者: zhyatmc    时间: 2015-7-29 12:56
顶一个{:10_523:}

§是ALT+1+6+7
ALT+1+3+7是‰
作者: 我是火柴yin    时间: 2015-7-29 17:08
大神您好,如果我要提取Message中的子节点名
Message:
   Default: 普通人
  Builder: 建筑者
就是“Default“和“Builder”这l两个单词然后显示到聊天框怎么弄
作者: whatafcukday    时间: 2015-7-30 08:53
我是火柴yin 发表于 2015-7-29 17:08
大神您好,如果我要提取Message中的子节点名
Message:
   Default: 普通人

子节点名?
好像是getKey(true)吧
不大确定=A=
作者: whatafcukday    时间: 2015-7-30 08:54
zhyatmc 发表于 2015-7-29 12:56
顶一个

§是ALT+1+6+7

...额说习惯了
§
作者: 我是火柴yin    时间: 2015-7-30 18:19
别坑我啊!我想获取message的子节点名
作者: moheng2014    时间: 2015-8-7 21:40
我能说作为一个新手,没有完整的代码完全看不懂写了什么吗?尤其读取那块。
作者: 天马司空    时间: 2015-8-10 14:29
楼主主类代码如下
package com.github.jiaocheng;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class pluginname extends JavaPlugin{
        public void onEnable() {
                getLogger().info("Liudao_PIG是**!!!");
        }
         public void onDisable() {
                 getLogger().info("Liudao_PIG是**!!!");
         }
         public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args)  {
                 if (label.equalsIgnoreCase("tm")) {
                         if (args[0].equalsIgnoreCase("tp"))  {
                                 if (!(sender instanceof Player)) {
                                 Player p = (Player)sender;
                                 Player p2 = Bukkit.getServer().getPlayer(args[1]);
                                 if (Bukkit.getServer().getPlayer(args[1])!=null){               
                                         Location wz = p2.getLocation();
                                         p.teleport(wz);
                                         p.sendMessage("§a传送成功!");
                           } else {p.sendMessage("该玩家不存在");}                                 
                         } else {sender.sendMessage("控制台不允许使用此命令");}
                        
                       }
                       return true;
                     }
                     return false;
         }
}


plugin.yml如下:
name: pluginname
main: com.github.jiaocheng.pluginname
version: 1.0
commands:
tp:
  description: tp
  usage: /tm tp
  permission: tm.tp
  permission-message: pig!you can't do that!!!
permissions:
tm.tp:
  default: op

为啥在服务端运行报错{:10_493:}
作者: tskdsb    时间: 2015-8-10 18:00
File file=new File(getDataFolder(),"config.yml");
服务器启动,加载我的插件的时候执行到这句就报错了
然后我的插件就没被服务器加载
因为我没在jar里导入config.yml,也没有在插件目录下新建这么一个config.yml
必须自己手动建立吗? 代码能不能生成的?(在检测到没有这个文件后)
作者: 寂    时间: 2015-8-20 17:51
楼主你人真好!感动的我泪流满面!终于找到这个方法了!
作者: nly    时间: 2015-10-1 16:02
  1. package com.github.test;

  2. import org.bukkit.Bukkit;
  3. import org.bukkit.Location;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.plugin.java.JavaPlugin;

  8. public class mytest extends JavaPlugin {
  9.         public void onEnable() {
  10.                 getLogger().info("启用完毕!");
  11.         }

  12.         public void onDisable() {
  13.                 getLogger().info("卸载完毕!");
  14.         }

  15.         public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args)  {
  16.                 if (label.equalsIgnoreCase("test")) {
  17.                         if (args[0].equalsIgnoreCase("tp")) {
  18.                                 if (!(sender instanceof Player)) {
  19.                                         Player p = (Player)sender;
  20.                                         Player p2 = Bukkit.getServer().getPlayer(args[1]);
  21.                                         if (Bukkit.getServer().getPlayer(args[1])!=null){
  22.                                                 Location wz = p2.getLocation();
  23.                                                 p.teleport(wz);
  24.                                                 p.sendMessage("§a传送成功!");
  25.                                         } else {p.sendMessage("该玩家不存在");}
  26.                                 } else {sender.sendMessage("控制台不允许使用此命令");}
  27.                                
  28.                         }
  29.                         return true;
  30.                 }
  31.                 return false;
  32.         }
  33. }
复制代码
撸主求帮忙看一下,为什么我这个玩家使用命令以后直接提示控制台不允许使用此命令

作者: MIP_COMMOM    时间: 2015-12-26 23:49
怎么读取和编写config里面的内容,我还是看不明白,可以发一个例子吗?最好是有config.yml文件里面的设置内容的
作者: 爱杂食的圳    时间: 2015-12-27 00:59
whatafcukday大大好赞呢~
就是希望能这样改进一下:<建议啊>重点的语句用粗体标注一下比较好~
如果需要深入或者其点缀、伏笔(←别看我,我语文不好)类似的,用下划线标注一下更好~
这样能更好的清楚明白,当然我只是建议一下而已,您也可以不采纳。

作者: q673301256    时间: 2015-12-27 22:15
对于写插件的人我表示佩服
作者: Laver    时间: 2016-2-26 17:45
根本看不明白 建议楼主最后放出写好的代码
作者: 1123991491    时间: 2016-5-7 13:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: whatafcukday    时间: 2016-5-7 15:47
1123991491 发表于 2016-5-7 13:34
!(sender instanceof Player) ←这句话的意思不是"传送者不是Player"吗,为什么不在这个if里面写getLogger. ...

是伪代码
作者: 2410505337    时间: 2016-7-16 16:48
写文件的时候不能用中文??用中文文件会有乱码
作者: 2870206676    时间: 2016-9-1 21:04
C:\Users\justi\Pictures\Saved Pictures\捕获

捕获.PNG (11.93 KB, 下载次数: 2)

捕获.PNG

作者: wodeshijieglq    时间: 2016-12-4 11:35
子节点前面必须4个空格,你才找得到它
作者: xiezhirouwoxifu    时间: 2017-1-5 23:58
楼楼,请问if(Bukkit.getServer().getPlayer(args[1]!=null)) 会提示getPlayer对于boolean不适用呢
作者: 2571612311    时间: 2017-2-12 20:45
本帖最后由 2571612311 于 2017-2-26 11:16 编辑
xiezhirouwoxifu 发表于 2017-1-5 23:58
楼楼,请问if(Bukkit.getServer().getPlayer(args[1]!=null)) 会提示getPlayer对于boolean不适用呢 ...

大爷。你看看你拿什么和什么比较的,你面向对象没学的很透彻尽量不要打这么多括号
回答你的问题Bukkit.getServer().getPlayer(String name)是获取玩家吧?
但注意这里是这里是要给它String
你args[1]是个String对吧
但是你拿一个String去跟null(任何可以比较的)得出的都是boolean值
而前面说了是需要String
所以我说了这么多其实你把这个改成
Bukkit.getServer().getPlayer(args[1]) != null就好了
(不喜勿喷)

作者: 2571612311    时间: 2017-2-12 20:54
nly 发表于 2015-10-1 16:02
撸主求帮忙看一下,为什么我这个玩家使用命令以后直接提示控制台不允许使用此命令
...

不知道是不是有点晚了。。
(!(sender instanceof Player)) 这是你的代码
当你在输入的时候,sender instanceof Player是true对吧
然而你外面有一个!
ture就变成了false
于是进入了else
就输出了 控制台不允许使用此命令
作者: xiezhirouwoxifu    时间: 2017-2-13 01:40
2571612311 发表于 2017-2-12 20:45
大爷。你看看你拿什么和什么比较的,你面向对象没学的很透彻尽量不要打这么多括号
回答你的问题Bukkit.ge ...

这样啊~~谢谢
作者: nikoniko_ni    时间: 2017-5-18 18:24
感觉排版乱了一点 其他还好
支持
作者: ★遨游の星空★    时间: 2017-7-22 00:08
本帖最后由 ★遨游の星空★ 于 2017-7-22 00:15 编辑

package io.github.starryfk;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
        public void onEnable() {
                getLogger().info("HelloWorld!");
        }

        public void onDisable() {
                getLogger().info("FuckTheWorld!");
        }

        public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
                if(label.equalsIgnoreCase("hw")) {
                        if(args.length > 1) {
                                if(args[0].equalsIgnoreCase("tp")){
                                        if(args.length == 2) {
                                                if(sender instanceof Player) {
                                                        if(Bukkit.getServer().getPlayer(args[1]) != null) {
                                                                Player p2 = Bukkit.getServer().getPlayer(args[1]);
                                                                Location wz = p2.getLocation();
                                                                Player p = (Player)sender;
                                                                p.teleport(wz);
                                                                p.sendMessage("Successful teleport!");
                                                        }else {
                                                                sender.sendMessage("Player is offline.");
                                                        }
                                                }else {
                                                        sender.sendMessage("Console cant use this command.");
                                                }
                                        }else {
                                                return false;
                                        }
                                }else if(args[0].equalsIgnoreCase("msg")){
                                        if(args.length == 3) {
                                                if(Bukkit.getServer().getPlayer(args[1])!=null) {
                                                        Player p2 = Bukkit.getServer().getPlayer(args[1]);
                                                        p2.sendMessage(args[2]);
                                                        sender.sendMessage(args[2] + "-----Send successful!");
                                                }else {
                                                        sender.sendMessage("Player is not online.");
                                                }
                                        }else {
                                                return false;
                                        }
                                }else {
                                        return false;
                                }
                        }else {
                                return false;
                        }
                }
                return true;
        }
}



哎呀搞错了这个是上个章节的。。

作者: ★遨游の星空★    时间: 2017-7-22 00:10
package io.github.starryfk;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
        public void onEnable() {
                getLogger().info("HelloWorld!");
        }

        public void onDisable() {
                getLogger().info("FuckTheWorld!");
        }

        public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
                if(label.equalsIgnoreCase("hw")) {
                        if(args.length > 1) {
                                if(args[0].equalsIgnoreCase("tp")){
                                        if(args.length == 2) {
                                                if(sender instanceof Player) {
                                                        if(Bukkit.getServer().getPlayer(args[1]) != null) {
                                                                Player p2 = Bukkit.getServer().getPlayer(args[1]);
                                                                Location wz = p2.getLocation();
                                                                Player p = (Player)sender;
                                                                p.teleport(wz);
                                                                p.sendMessage("Successful teleport!");
                                                        }else {
                                                                sender.sendMessage("Player is offline.");
                                                        }
                                                }else {
                                                        sender.sendMessage("Console cant use this command.");
                                                }
                                        }else {
                                                return false;
                                        }
                                }else if(args[0].equalsIgnoreCase("msg")){
                                        if(args.length == 3) {
                                                if(Bukkit.getServer().getPlayer(args[1])!=null) {
                                                        Player p2 = Bukkit.getServer().getPlayer(args[1]);
                                                        p2.sendMessage(args[2]);
                                                        sender.sendMessage(args[2] + "-----Send successful!");
                                                }else {
                                                        sender.sendMessage("Player is not online.");
                                                }
                                        }else {
                                                return false;
                                        }
                                }else {
                                        return false;
                                }
                        }else {
                                return false;
                        }
                }
                return true;
        }
}

作者: ★遨游の星空★    时间: 2017-7-22 03:01
Message:
  hello: HelloWorld!
  fuck: FuckWorld!


我的yml里面是类似这样的文本,想请教一下如何输出Message下一级节点的名字,就是输出:
List: hello, fuck
这样的
还有交作业来了


package io.github.starryfk;

import java.io.File;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
        public void onEnable() {
                if (!getDataFolder().exists()) {
                        getDataFolder().mkdirs();
                }
                File file = new File(getDataFolder(), "config.yml");
                if (!file.exists()) {
                        saveDefaultConfig();
                }
                reloadConfig();
                getLogger().info("HelloWorld!");
        }

        public void onDisable() {
                getLogger().info("FuckTheWorld!");
        }

        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
                if (label.equalsIgnoreCase("hw")) {
                        if (args.length >= 1) {
                                if (args[0].equalsIgnoreCase("tp")) {
                                        if (args.length == 2) {
                                                if (sender instanceof Player) {
                                                        if (Bukkit.getServer().getPlayer(args[1]) != null) {
                                                                Player p2 = Bukkit.getServer().getPlayer(args[1]);
                                                                Location wz = p2.getLocation();
                                                                Player p = (Player) sender;
                                                                p.teleport(wz);
                                                                p.sendMessage("Successful teleport!");
                                                        } else {
                                                                sender.sendMessage("Player is offline.");
                                                        }
                                                } else {
                                                        sender.sendMessage("Console cant use this command.");
                                                }
                                        } else {
                                                return false;
                                        }
                                } else if (args[0].equalsIgnoreCase("msg")) {
                                        if (args.length == 3) {
                                                if (Bukkit.getServer().getPlayer(args[1]) != null) {
                                                        Player p2 = Bukkit.getServer().getPlayer(args[1]);
                                                        p2.sendMessage(args[2]);
                                                        sender.sendMessage(args[2] + "-----Send successful!");
                                                } else {
                                                        sender.sendMessage("Player is not online.");
                                                }
                                        } else {
                                                return false;
                                        }
                                } else if (args[0].equalsIgnoreCase("message")) {
                                        if (getConfig().contains("Message.hello")) {
                                                sender.sendMessage(getConfig().getString("Message.hello"));
                                        } else {
                                                sender.sendMessage("message note null");
                                        }
                                        if (getConfig().contains("Message.fuck")) {
                                                sender.sendMessage(getConfig().getString("Message.fuck"));
                                        } else {
                                                sender.sendMessage("message note null");
                                        }
                                } else if (args[0].equalsIgnoreCase("reload")) {
                                        reloadConfig();
                                        sender.sendMessage("reload successful!");
                                } else if (args[0].equalsIgnoreCase("setmessage")) {
                                        if (args.length != 3) {
                                                return false;
                                        } else {
                                                getConfig().set("Message." + args[1], args[2]);
                                                saveConfig();
                                                sender.sendMessage("Setting successful!");
                                        }
                                } else {
                                        return false;
                                }
                        } else {
                                return false;
                        }
                }
                return true;
        }
}



作者: yanjiaqin    时间: 2018-7-24 12:28
(不知道楼主还在不在w...)
求救!如果想把jar下的文件拉到一个子文件夹里(不是getDataFolder()中!),该怎么做qwq?
哪怕我写的File路径是自己的文件夹(new File(自己的路径,"名字");) 最后还是被拉到了插件总文件夹里????
作者: Takej    时间: 2018-7-25 19:09
大佬666MCBBS有你更精彩
作者: 轻光233    时间: 2018-8-14 16:08
楼主这个代码格式。。。。。。。有待提高
作者: 轻光233    时间: 2018-8-14 16:19
wodeshijieglq 发表于 2015-5-9 12:45

咳咳,这个类没有实现CommandExecutor接口
作者: 人走茶凉。    时间: 2019-4-28 21:04
关于读写默认配置那块 我怎么看的这么懵逼呢