本帖最后由 无邪。 于 2020-5-31 11:37 编辑
MySQL固然好,但是方便可不敢说。 并且对于编程新手的我来说真是不友好!(大佬略过)
这个插件的作用,就是在不使用MySQL的情况下,实现插件跨服数据同步。
并且有极强的可编辑性。 |
*将你的插件以它为前置,它可以把你的插件的配置文件,统一规划到一个指定目录下存储。
*就可以实现,多服共读,同步(缺点:同一台机器,优点:好编辑,不易出错)。
|
这个插件运行后,会在配置文件里生成一个String路径,可定义为你的保存路径
- #以它为前置的插件,配置文件的统一规划路径
- filePath: 'D:/MyPluginFile/Plugins'
- #监听器的延迟,单位 秒 (采用定时检测某插件的文件最后修改时间来触发监听器)
- UpdateTimer: 4
复制代码
将插件plugin.yml里加上依赖 - softdepend:
- - DataSharing
复制代码- 在onLoad里,查找服务器插件是否有这个插件(这是我的办法)
- @Getter
- private static boolean dataSharing =false;
- for(Plugin plugin:Bukkit.getPluginManager().getPlugins()){
- if(plugin.getName().equalsIgnoreCase("DataSharing")){
- Bukkit.getConsoleSender().sendMessage("§a无邪版跨服同步前置插件运行!");
- Bukkit.getConsoleSender().sendMessage("§a同台机器所有服务器此插件数据实现同步共享!");
- dataSharing =true;
- break;
- }
- }
复制代码- 简单的创建config实例
- @Getter
- PluginYaml pluginYaml = new PluginYaml(this);
- //该配置文件发生变化是否触发监听
- boolean callEvent =true;
- File file = pluginYaml.getFile("test"+File.separator+"config.yml",callEvent );
- YamlConfiguration yml =new YamlConfiguration();
- yml.set("test","这是一个测试文本,这个文件毫无卵用!");
- try {
- yml.save(file);
- } catch (IOException e) {
- e.printStackTrace();
- }
- 在onDisable里,如果配置文件是被监听状态,则需要加入XXXX.getPluginYaml().fileUpdateRunCancel();来终止定时的对文件检测。
- 这样config.yml的生成和读取路径就会在D:/MyPluginFile/Plugins/插件名/config.yml生成!
- 并且当它被改动时,就会触发监听器传递给插件。如果 callEvent =false 则不触发。
复制代码 |
源码
DataSharing.zip
(26.84 KB, 下载次数: 25)
插件真的很简单,但我觉得很有用,解决了很多在一台机器上群组服的数据同步,大佬轻喷!
|
可以只监听被标记的配置文件,构造方法为 @Getter
PluginYaml pluginYaml = new PluginYaml(this);
//该配置文件发生变化是否触发监听
boolean callEvent =true;
File file = pluginYaml.getFile("test"+File.separator+"config.yml",callEvent ); 如果callEvent 为true则该文件被监听。 该监听器的构造,和调用方法不知道对不对,有大佬的话,还请帮忙优化一下~233 |
如果觉得这个插件帮到了你,请不要吝啬你的人气和金粒哟! |
[groupid=1701]Complex Studio[/groupid]