Daiyangcheng
本帖最后由 Daiyangcheng 于 2022-7-25 10:18 编辑

代码如下:省略前面一大部分的if-else
} else if (dothing.equals("chemcheckitem")) {
    if (strings.length < 2){
        commandSender.sendMessage(headermes + ChatColor.RED + "在?你可以吧指令输完吗");
        return false;
    }
    if (commandSender instanceof Player){
        //获取玩家背包
        PlayerInventory inventory = player.getInventory();
        //获取物品信息
        String checkname = plugin.getConfig().getString(strings[1] + "-name");
        int amount = plugin.getConfig().getInt(strings[1] + "-amount");

        //定义物品堆进行匹配
        ItemStack itemStack = new ItemStack(Material.PAPER, amount);
        ItemMeta itemMeta = itemStack.getItemMeta();

        //检查物品名是否有&并将其替换为颜色字符
        boolean status = checkname.contains("&");

        if (status){
            itemMeta.setDisplayName(checkname.replace("&", "§"));
        } else {
            itemMeta.setDisplayName(checkname);
        }

        if (inventory.contains(itemStack)){
            player.sendMessage(headermes + ChatColor.GREEN + "检测成功,欢迎");
        } else {
            player.sendMessage(headermes + ChatColor.RED + "失败了诶");
        }
    } else {
        server.getLogger().info(headermes + ChatColor.RED + "在?控制台有背包?");
    }




是控控吗
你直接遍历一遍他背包的所有物品堆进行比较不就好了

Daiyangcheng
是控控吗 发表于 2022-7-25 10:04
你直接遍历一遍他背包的所有物品堆进行比较不就好了

那个,我自己解决了,我是忘记吧itemmeta添加上去了
                    itemStack.setItemMeta(itemMeta);
我就少了这个

第一页 上一页 下一页 最后一页