gpt4 book ai didi

java - Bukkit 插件 - 检查文件中的特定数据是否存在,并声明它

转载 作者:太空宇宙 更新时间:2023-11-04 14:42:46 25 4
gpt4 key购买 nike

我正在更新的 bukkit 插件遇到问题。在我正在做的事情中,当玩家使用床时,它将以下数据保存到名为 beds.yml 的文件中:

ThePlayersUsername:
X: (double)
Y: (double)
Z: (double)
world: worldName

当插件初始化时,我需要声明一些变量,因为它们稍后会在代码中使用。

Player p = (Player)sender;
String dn = p.getDisplayName();
dn = ChatColor.stripColor(dn);
double x = (Double) yml.get(dn + ".x");
double y = (Double) yml.get(dn + ".y");
double z = (Double) yml.get(dn + ".z");
World bw = Bukkit.getWorld((yml.get(dn + ".world").toString()));
Location l = new Location(bw, x, y, z);

如果它们不存在,我就无法执行此操作,但是,我无法重置为任何默认值,因为每次有人进入床时都会将新项目添加到配置中,并且所有数据都是特定于用户的。

我将如何检查玩家的配置中是否有一些数据,如果没有,告诉他们睡在床上,当他们的配置中有数据时,如何声明它以便他们可以使用命令使用配置中的数据进行传送。谢谢。

最佳答案

创建 2 个列表或数组:

-在线玩家

-配置中的玩家

一个简单的字符串列表可以神奇地存储名称。然后比较它们。类似这样的事情:

List<String> online_players = new List<String>();
//fill list code here

List<String players_in_config = new List<String>();
//fill list code here

List<String> output = new List<String>();

for(String s : online_players){
for(String a : players_in_config){
if(s.equals(a)){
output.add(s);
break;
}
}
}

//and now output contains the names of the players that online and have a bed in the config

关于java - Bukkit 插件 - 检查文件中的特定数据是否存在,并声明它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24763246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com