0x00

基于兴趣爱好驱动的自学 java 开发,我选择尝试开发 minecraft 插件的方式来练级;
在第一个礼拜的努力下,我尝试自己开发一个 BungeeCord 插件 BCfallback 来解决我自己的Minecraft服务器上所遇到的一个功能需求;
BungeeCord-plugin-dev.png

目前插件的核心功能已经都完全实现并已在我自己的服务器上运行良好,但我不满足于插件只解决这一个简单的需求,想在此基础上扩展更加丰富的功能,因此就涉及需要使用插件自己独立的配置文件来管理可自定义的配置参数选项;

我知道在 BukkitSpigot 中有现成的工具类和方法可以直接使用,但在 BungeeCord 上,完全找不到相同的类和方法,最后还是在sgopitmc的论坛上找到了相关资料;

0x01

对于在BungeeCord中要是用独立的配置目录和配置文件,实现方式如下代码,原理没什么好说的,处理思路一看就懂了!

if (!plugin.getDataFolder().exists()) plugin.getDataFolder().mkdir();
   File file = new File(plugin.getDataFolder(), path);
   try {
       if (!file.exists())
           Files.copy(plugin.getResourceAsStream(path), file.toPath());
           
       config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
   } catch (IOException e) {
       e.printStackTrace();
   }

BungeeCord 配置管理API 使用参考
BungeeCord's configuration API

0xEND

编程有时候缺的就是一点思路和灵感,当自己被困住的时候只需要有人给个提示就能自己突破重围,

Last modification:March 26, 2022
如果觉得我的文章对你有用,请随意赞赏