如何将字符串转换为位置对象 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");
您基本上可以将对象存储在配置中,然后再恢复它。请记住,需要加载世界才能解析位置。
我想知道如何转换字符串(从配置加载)。转换为 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");
您基本上可以将对象存储在配置中,然后再恢复它。请记住,需要加载世界才能解析位置。