本帖最后由 tiger999 于 2016-8-15 12:40 编辑
上节课,我们做了一个插件,我们今天学习如何做配置文件,话说,我上次忘记给大家布置作业了。。。别打我
5.配置文件
知道服务器的人都知道配置文件吧,就是Config,今天我来教大家如何创建首先创建一个空的插件(详细)
然后和创建plugin.yml一样的方式弄一个config.yml
OK,我们开始写代码了,首先我们先认识Enable和Disable,enable就是在启动时执行的东西,disable就是卸载插件的时候执行的东西
用法是:
public void onEnable() {
//启动时执行XXX
}
和
public void onDisable() {
//卸载是执行XXX
}
注意,这2个是放在命令执行器的上面
一般加载配置是这样的(注意,加载不是读取)
所以,比较常用的话是和onEnable进行搭配
OK,我们加载了是加载了,可是又不能读取又不能写入,怎么办呢?
别急,别急,我们先了解一下config.yml里面的东西是什么
比如说config.yml里面是
a:123
b:123456
c:123456789
那么要读取123就得到路径a
要读取123456就得到路径b
要读取123456789就得到路径c
读写配置最基本的方法
这次不忘记布置作业了——
当玩家输入/tiger msg的时候,读取路径为a的String,并发送给那个玩家
我才几级啊你们看懂了的有金币有人气的都撒起来吧! 没看懂的跟帖问完之后继续金币人气撒起来吧!
回到索引贴
5.配置文件
知道服务器的人都知道配置文件吧,就是Config,今天我来教大家如何创建首先创建一个空的插件(详细)
然后和创建plugin.yml一样的方式弄一个config.yml
OK,我们开始写代码了,首先我们先认识Enable和Disable,enable就是在启动时执行的东西,disable就是卸载插件的时候执行的东西
用法是:
public void onEnable() {
//启动时执行XXX
}
和
public void onDisable() {
//卸载是执行XXX
}
注意,这2个是放在命令执行器的上面
一般加载配置是这样的(注意,加载不是读取)
if(!getDataFolder().exists()) {
getDataFolder().mkdir();
}
File file=new File(getDataFolder(),"config.yml");
if (!(file.exists())) {saveDefaultConfig();}
reloadConfig();
所以,比较常用的话是和onEnable进行搭配
public void onEnable() {
if(!getDataFolder().exists()) {
getDataFolder().mkdir();
}
File file=new File(getDataFolder(),"config.yml");
if (!(file.exists())) {saveDefaultConfig();}
reloadConfig();
getLogger().info("启用完毕!");
}
这里就是首先先创建一个工作文件夹,然后再创建默认的配置(就是,你创建的那个config.yml,因为你刚刚弄出来的Jar里面是没有config.yml的,所以得saveDefaultConfig();才是保存默认)
还有一个就是,这里的getLogger().info("启动完毕!");就是在后台发信息
OK,我们加载了是加载了,可是又不能读取又不能写入,怎么办呢?
别急,别急,我们先了解一下config.yml里面的东西是什么
比如说config.yml里面是
a:123
b:123456
c:123456789
那么要读取123就得到路径a
要读取123456就得到路径b
要读取123456789就得到路径c
读写配置最基本的方法
读
getConfig().get变量类型("路径");
比如说我要读取路径a里面的东西,是一个int类型的,那么就是
getConfig().getInt("a");
假如我要读取路径b里面的东西,是一个String类型的,那么就是
getConfig().getString("b");
当然,有些人就迷惑了,我怎么把这个东西放到变量里面?
很简单,比如说
String a=getConfig().getString("c");
这样子
写
getConfig().set(路径, 内容) 内容可以为String int List什么的自定义配置文件照葫芦画瓢吧!set为null表示删除此节点以及他的所有子节点记得要保存 保存方法:File file=new File(getDataFolder(),"config.yml");try{getConfig().save(file);}
catch
(IOException e){e.printStackTrace();} 要捕捉异常,因为有可能保存不成功当然也有一个直接保存默认config的方法:savaConfig();
这次不忘记布置作业了——
当玩家输入/tiger msg的时候,读取路径为a的String,并发送给那个玩家
我才几级啊你们看懂了的有金币有人气的都撒起来吧! 没看懂的跟帖问完之后继续金币人气撒起来吧!
回到索引贴
上节课,我们做了一个插件,我们今天学习如何做配置文件,话说,我上次忘记给大家布置作业了。。。别打我
5.配置文件
知道服务器的人都知道配置文件吧,就是Config,今天我来教大家如何创建首先创建一个空的插件(详细)
然后和创建plugin.yml一样的方式弄一个config.yml
OK,我们开始写代码了,首先我们先认识Enable和Disable,enable就是在启动时执行的东西,disable就是卸载插件的时候执行的东西
用法是:
public void onEnable() {
//启动时执行XXX
}
和
public void onDisable() {
//卸载是执行XXX
}
注意,这2个是放在命令执行器的上面
一般加载配置是这样的(注意,加载不是读取)
所以,比较常用的话是和onEnable进行搭配
OK,我们加载了是加载了,可是又不能读取又不能写入,怎么办呢?
别急,别急,我们先了解一下config.yml里面的东西是什么
比如说config.yml里面是
a:123
b:123456
c:123456789
那么要读取123就得到路径a
要读取123456就得到路径b
要读取123456789就得到路径c
读写配置最基本的方法
这次不忘记布置作业了——
当玩家输入/tiger msg的时候,读取路径为a的String,并发送给那个玩家
我才几级啊你们看懂了的有金币有人气的都撒起来吧! 没看懂的跟帖问完之后继续金币人气撒起来吧!
回到索引贴
2021.12 数据,可能有更多内容
上节课,我们做了一个插件,我们今天学习如何做配置文件,话说,我上次忘记给大家布置作业了。。。别打我5.配置文件
知道服务器的人都知道配置文件吧,就是Config,今天我来教大家如何创建首先创建一个空的插件(详细)
然后和创建plugin.yml一样的方式弄一个config.yml
OK,我们开始写代码了,首先我们先认识Enable和Disable,enable就是在启动时执行的东西,disable就是卸载插件的时候执行的东西
用法是:
public void onEnable() {
//启动时执行XXX
}
和
public void onDisable() {
//卸载是执行XXX
}
注意,这2个是放在命令执行器的上面
一般加载配置是这样的(注意,加载不是读取)
if(!getDataFolder().exists()) {
getDataFolder().mkdir();
}
File file=new File(getDataFolder(),"config.yml");
if (!(file.exists())) {saveDefaultConfig();}
reloadConfig();
所以,比较常用的话是和onEnable进行搭配
public void onEnable() {
if(!getDataFolder().exists()) {
getDataFolder().mkdir();
}
File file=new File(getDataFolder(),"config.yml");
if (!(file.exists())) {saveDefaultConfig();}
reloadConfig();
getLogger().info("启用完毕!");
}
这里就是首先先创建一个工作文件夹,然后再创建默认的配置(就是,你创建的那个config.yml,因为你刚刚弄出来的Jar里面是没有config.yml的,所以得saveDefaultConfig();才是保存默认)
还有一个就是,这里的getLogger().info("启动完毕!");就是在后台发信息
OK,我们加载了是加载了,可是又不能读取又不能写入,怎么办呢?
别急,别急,我们先了解一下config.yml里面的东西是什么
比如说config.yml里面是
a:123
b:123456
c:123456789
那么要读取123就得到路径a
要读取123456就得到路径b
要读取123456789就得到路径c
读写配置最基本的方法
读
getConfig().get变量类型("路径");
比如说我要读取路径a里面的东西,是一个int类型的,那么就是
getConfig().getInt("a");
假如我要读取路径b里面的东西,是一个String类型的,那么就是
getConfig().getString("b");
当然,有些人就迷惑了,我怎么把这个东西放到变量里面?
很简单,比如说
String a=getConfig().getString("c");
这样子
写
getConfig().set(路径, 内容) 内容可以为String int List什么的自定义配置文件照葫芦画瓢吧!set为null表示删除此节点以及他的所有子节点记得要保存 保存方法:File file=new File(getDataFolder(),"config.yml");try{getConfig().save(file);}
catch
(IOException e){e.printStackTrace();} 要捕捉异常,因为有可能保存不成功当然也有一个直接保存默认config的方法:savaConfig();
这次不忘记布置作业了——
当玩家输入/tiger msg的时候,读取路径为a的String,并发送给那个玩家
我才几级啊你们看懂了的有金币有人气的都撒起来吧! 没看懂的跟帖问完之后继续金币人气撒起来吧!
回到索引贴
本帖最后由 CMD丶BLOCK_ 于 2016-1-10 11:39 编辑
楼主,你的教程写的很好,通俗易懂,我最近想开发一个插件,能加个qq好友么,我qq:1056293351,等级没法给人气,抱歉哈~
楼主,你的教程写的很好,通俗易懂,我最近想开发一个插件,能加个qq好友么,我qq:1056293351,等级没法给人气,抱歉哈~
CMD丶BLOCK_ 发表于 2016-1-10 11:29
楼主,你的教程写的很好,通俗易懂,我最近想开发一个插件,能加个qq好友么,我qq:1056293351,等级没法给 ...
谢谢支持!好的,我的qq名是tiger,号是2624183401,你同意就行了
你这个和Day有什么区别
seesaw_233 发表于 2016-1-18 17:17
你这个和Day有什么区别
区别很大啊!当然,知识就是那么多,讲的方法和深度的区别
{:10_522:}
你只讲了 例如读取 a:
b:
c:
你没讲这么读取类似
a:
-
-
-
还有物品
还有路径的格式。。。
完全。。。不懂
你只讲了 例如读取 a:
b:
c:
你没讲这么读取类似
a:
-
-
-
还有物品
还有路径的格式。。。
完全。。。不懂
494308843 发表于 2016-1-25 22:12
你只讲了 例如读取 a:
b:
c:
。。。。假如不懂可以加qq2624183401
tiger999 发表于 2016-1-26 13:03
。。。。假如不懂可以加qq2624183401
{:10_494:}我选择撞死
输出节点和读取节点的教程能不能写出来啊=。=,还有路径冒号后面好像还要空一个格才能写数值。
tiger999 发表于 2016-1-18 22:22
区别很大啊!当然,知识就是那么多,讲的方法和深度的区别
至少你后面抄的day的 连错的地方都一样 直接保存默认config的方法是saveConfig();
day的帖子:http://www.mcbbs.net/forum.php?m ... p;extra=#pid8113285
而day的帖子是2015-5-2 19:49:51发布的 你的是2015-12-20 23:02:10发布的
明显的抄袭
只不过写的也挺好的
lyyxy 发表于 2016-7-18 20:03
至少你后面抄的day的 连错的地方都一样 直接保存默认config的方法是saveConfig();
day的帖子:ht ...
确实这里是抄袭,主要是,知识点差不多,都是那个样子,不过谢谢鼓励
tiger999 发表于 2016-7-22 19:40
确实这里是抄袭,主要是,知识点差不多,都是那个样子,不过谢谢鼓励
不过你至少先改一下很容易误导人
savaConfig;()改成saveConfig();