我尝试制作一个spigot插件,该插件可以检测服务器上是否没有人。我需要一个计时器,如果服务器上没有人,则应停止计时器并将计时器的时间保存在文本文件中。我可以通过插件执行此操作的任何方式。 谢谢您的帮助,亚伦。
答案 0 :(得分:0)
请参见Bukkit#getOnlinePlayers();
,然后检查其是否为空。您可以检查播放器何时与服务器断开连接,也可以执行重复的计划任务。
要将计时器保存在yml文件中,请使用YamlConfiguration。有关更多详细信息,请参见此处:https://www.spigotmc.org/wiki/config-files/#creating-the-file
如果您需要更多帮助(可能需要更快的答案),可以加我为不和谐:Pierre#7757。如果我们找到任何好的解决方案,我将对此评论进行编辑。
答案 1 :(得分:0)
如何创建文本文件:
try {
File file = new File(Yourplugin.getPlugin(YourPlugin.class).getDataFolder().getPath(), "filename.txt");
file.getParentFile().mkdirs();
file.createNewFile();
} catch (IOException exception){
System.out.println(exception.toString());
}
如何从文本文件中读取:
File file = new File(YourPlugin.getPlugin(Yourplugin.class).getDataFolder().getPath(), "filename.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line = br.readline(); //can be null, if nothing is in file
如何写入文件:
File file = new File(YourPlugin.getPlugin(Yourplugin.class).getDataFolder().getPath(), "filename.txt");
BufferedWriter wr = new BufferedWriter(new FileWriter(file));
br.write("yourtime");
你应该像第一个例子一样在每个例子中进行 try catch 构造。