【问题标题】:Save vars/objects to YAML file (Spigot)将变量/对象保存到 YAML 文件 (Spigot)
【发布时间】:2017-05-06 10:47:52
【问题描述】:

我的插件中存储了一些 WE Selection 类的变量。但我想在插件关闭/重新启动后使用它们。因此,它需要我将选择变量保存到 YAML 文件中,然后在 onEnable 中再次加载它们。

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

我该怎么做?

【问题讨论】:

    标签: java file save yaml bukkit


    【解决方案1】:

    您必须对选择进行序列化,然后将其作为字符串保存到您的 YAML 文件中。要在onEnable 中重新获得相同的选择,您必须编写一个反序列化字符串的方法。

    例如CuboidSelection 需要一个World 和两个Location 来实例化。您可以像这样将 CuboidSelection 序列化为字符串:worldname:x1:y1:z1:x2:y2:z2

    要反序列化 CuboidSelection,您可以从 YAML 文件中获取字符串,将其拆分为 :,通过 Bukkit#getWorld(worldName) 获取世界并解析坐标。您现在可以创建两个 Locations 并将它们与 World 一起使用来恢复您的 CuboidSelection。

    【讨论】:

      【解决方案2】:

      您可以保存到 YAML 文件的唯一内容是数组和原始类型,因此您无法保存整个 Selection 对象。最接近您想要的方法是单独保存对象的值,然后通过实例化新的选择来设置它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-22
        • 1970-01-01
        • 2018-11-23
        • 2016-04-21
        • 1970-01-01
        • 2020-06-30
        • 1970-01-01
        相关资源
        最近更新 更多