我的插件中存储了WE Selection类的一些变量。但我想在插件关闭/重启后使用它们。因此,我需要将Selection vars保存到YAML文件,然后再次将其加载到onEnable
。
private Selection sboss;
private Selection s1;
private Selection s2;
private Selection s3;
private Selection s4;
我该怎么做?
答案 0 :(得分:1)
您必须序列化Selection,然后将其作为String保存到YAML文件中。要在onEnable
中重新获得相同的选择,您必须编写一个反序列化String的方法。
例如,CuboidSelection需要World
和两个Location
进行实例化。您可以将CuboidSelection序列化为String,如下所示:worldname:x1:y1:z1:x2:y2:z2
要反序列化CuboidSelection,您将从YAML文件中获取字符串,将其拆分为:
,通过Bukkit#getWorld(worldName)获取世界并解析坐标。您现在可以创建两个位置并将它们与World一起使用以恢复CuboidSelection。
答案 1 :(得分:0)
您可以保存到YAML文件的唯一内容是数组和基本类型,因此您无法保存整个Selection对象。最接近你想要的东西是单独保存对象的值,然后通过实例化一个新的选择来设置它们。