如何将字符串转换为位置对象 Bukkit 插件

How to convert a string to a Location Object Bukkit Plugin

我想知道如何转换字符串(从配置加载)。转换为 Location 对象。我已经尝试过此代码:

private Location StringToLocation(String input, Main plugin) {
    Location world = new Location(Bukkit.getWorld(plugin.getConfig().getString("world")), 0, 0, 0);
    int index;
    int LengteString;
    String[] myCoordinaat = { "", "", "" };


    for (int iLoop = 0; iLoop < 2; iLoop++)
    {
        index = input.indexOf(",");
        LengteString = input.length() - index;
        myCoordinaat[iLoop] = input.substring(index, LengteString);
        input = input.substring(0, index + 1);
    }
    myCoordinaat[2]=input;

    Bukkit.getLogger().info("x: " + myCoordinaat[0] + " y:" + myCoordinaat[1] + " z:" + myCoordinaat[2]);

    world.setX(Double.parseDouble(myCoordinaat[0]));
    world.setY(Double.parseDouble(myCoordinaat[1]));
    world.setZ(Double.parseDouble(myCoordinaat[2]));
    return world;
}

提前致谢!

有一个非常简单的解决方案可以解决您的问题,甚至不需要您自己解析位置。

//Save location
getConfig().set("path.to.location", loc);
saveConfig();

//Load location
Location location = (Location) getConfig().get("path.to.location");

您基本上可以将对象存储在配置中,然后再恢复它。请记住,需要加载世界才能解析位置。