2017-05-06 75 views
0

我的存儲在我的插件中的WE Selection類有幾個變量。但是我想在插件關閉/重新啓動後使用它們。因此,它會要求我將選擇變量保存到YAML文件中,然後再次將它們加載到onEnable中。將變量/對象保存到YAML文件(Spigot)

private Selection sboss; 
private Selection s1; 
private Selection s2; 
private Selection s3; 
private Selection s4; 

我該怎麼做?

回答

0

您可以保存到YAML文件的唯一方法是數組和原始類型,因此您無法保存整個選擇對象。您想要的最接近的可能是單獨保存對象的值,然後通過實例化新的選擇來設置它們。

1

您將不得不序列化選擇,然後將其另存爲字符串到您的YAML文件。要重新獲得onEnable中的相同選擇,您必須編寫一個反序列化字符串的方法。

例如CuboidSelection需要World和兩個Location被實例化。你可以序列化CuboidSelection像這樣的字符串:worldname:x1:y1:z1:x2:y2:z2

反序列化您從YAML文件獲取字符串的CuboidSelection,在:把它分解,通過Bukkit#getWorld(worldName)拿到世界和解析座標。您現在可以創建兩個位置並與世界一起使用它們以恢復CuboidSelection。