Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从config.yml加载id列表?_Java_Plugins_Yaml_Minecraft_Bukkit - Fatal编程技术网

Java 如何从config.yml加载id列表?

Java 如何从config.yml加载id列表?,java,plugins,yaml,minecraft,bukkit,Java,Plugins,Yaml,Minecraft,Bukkit,我需要开一张支票。它的本质是:应该返回true或false,如果玩家在配置的清单中有一个东西是true,只有他有,如果没有,则返回false。所以这里是解决问题的方法: @SuppressWarnings("deprecation") public boolean hasInInv(Player p) { List<String> list = getConfig().getStringList("List"); for(ItemStack i : p.getInve

我需要开一张支票。它的本质是:应该返回true或false,如果玩家在配置的清单中有一个东西是true,只有他有,如果没有,则返回false。

所以这里是解决问题的方法:

@SuppressWarnings("deprecation")
public boolean hasInInv(Player p) {
    List<String> list = getConfig().getStringList("List");
    for(ItemStack i : p.getInventory().getContents()) {
        if(i != null) {
            boolean found = false;
            for(String st : list) {
                if(st.startsWith("" + i.getTypeId())) {
                    if(st.startsWith(i.getTypeId() + ":")) {
                        try {
                            byte data = Byte.parseByte(st.replaceFirst(i.getTypeId() + ":", ""));
                            if(data != i.getDurability()) {
                                continue;
                            } else {
                                found = true;
                                break;
                            }
                        } catch(Exception ex) {
                            System.out.println("Error in Config: " + st + " is not a valid Item");
                            return false;
                        }
                    }
                    found = true;
                    break;
                }
            }
            if(!found) {
                return false;
            }
        }
    }
    return true;
}

您在配置文件中以何种格式存储项目?我们可以看到一些保存/加载内容的代码和一个示例配置文件吗?是的,但您需要对库存中的其他项目执行的操作可能重复,但被忽略,并且该检查仅对配置中的项目执行。如果玩家有其他项目!=然后返回false。谢谢!如何使用项目和数据id进行检查?示例:-17:1,-17:2 e.t.cIf这很有帮助,请在我的评论中使用提示,以便所有有此问题的其他人都能看到解决方案是什么。如何使用项目和数据id进行检查?示例:-17:1,-17:2 e.t.c??
List:
  - 1
  - 2
  - 3
  - 4
  - '17:3'
  - '17:1'