Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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 PrepareItemCraftEvent重复项_Java_Bukkit - Fatal编程技术网

Java PrepareItemCraftEvent重复项

Java PrepareItemCraftEvent重复项,java,bukkit,Java,Bukkit,在PrepareItemCraftEvent中有一个bug,即它是关于重复项的。创建对象时,项目数临时跳到8、16或64 我的代码: if (e.getInventory().getResult() !=null) { if (e.getInventory().getResult().getType().equals(its.getType())) { if (e.getInventory().getItem(1) != null) { if (e

在PrepareItemCraftEvent中有一个bug,即它是关于重复项的。创建对象时,项目数临时跳到8、16或64

我的代码:

if (e.getInventory().getResult() !=null) {
    if (e.getInventory().getResult().getType().equals(its.getType())) {
        if (e.getInventory().getItem(1) != null) {
            if (e.getInventory().getItem(1).getAmount() >= a
                && e.getInventory().getItem(2).getAmount() >= b
                && e.getInventory().getItem(3).getAmount() >= c
                && e.getInventory().getItem(4).getAmount() >= d
                && e.getInventory().getItem(5).getAmount() >= ee
                && e.getInventory().getItem(6).getAmount() >= f
                && e.getInventory().getItem(7).getAmount() >= g
                && e.getInventory().getItem(8).getAmount() >= h
                && e.getInventory().getItem(9).getAmount() >= i) {
                    return;
            } else {
                    e.getInventory().setResult(new ItemStack(Material.AIR, 1));
            }
        }
    }
}
@哈利


您包含的代码似乎没有包含您所概述的所有问题-您能提供完整的代码吗?@Harry,请看。
@Deprecated
@EventHandler
public void prepare(PrepareItemCraftEvent e) {
    for(String crafter : cfg.getConfig().getConfigurationSection("craftings").getKeys(false)) {
        ConfigurationSection s = cfg.getConfig().getConfigurationSection("craftings." + crafter);

        int a = s.getInt("items.iloscA");
        int b = s.getInt("items.iloscB");
        int c = s.getInt("items.iloscC");
        int d = s.getInt("items.iloscD");
        int ee = s.getInt("items.iloscE");
        int f = s.getInt("items.iloscF");
        int g = s.getInt("items.iloscG");
        int h = s.getInt("items.iloscH");
        int i = s.getInt("items.iloscI");

        ItemStack its = new ItemStack(Material.getMaterial(s.getInt("item")), 1, (byte) s.getInt("data"));

        if(e.getInventory().getResult() !=null) {
            if(e.getInventory().getResult().getType().equals(its.getType())) {
                if(e.getInventory().getItem(1) != null) {
                    if(e.getInventory().getItem(1).getAmount() >= a
                            && e.getInventory().getItem(2).getAmount() >= b
                            && e.getInventory().getItem(3).getAmount() >= c
                            && e.getInventory().getItem(4).getAmount() >= d
                            && e.getInventory().getItem(5).getAmount() >= ee
                            && e.getInventory().getItem(6).getAmount() >= f
                            && e.getInventory().getItem(7).getAmount() >= g
                            && e.getInventory().getItem(8).getAmount() >= h
                            && e.getInventory().getItem(9).getAmount() >= i) {
                        return;
                    }
                    else {
                        e.getInventory().setResult(new ItemStack(Material.AIR, 1));
                    }
                }
            }
        }
    }
}