我使用的是Spigot API 1.8.6,我在标题中放了bukkit,因为它们几乎完全一样。Bukkit API为什么不能识别这些块
我有一个配置选项,可以从配置中获取项目id以及它们的值。项目id被转换成材料。然而,铁块和煤块中的173个和42个正在被跳过。这是我有:
for(String key : plugin.getConfig().getConfigurationSection("sellall"+ranks).getKeys(false))
{
int id = Integer.valueOf(key);
Material material = Material.getMaterial(id);
}
我再检查玩家的库存材料,这些材料被发现每一个项目编号除了 42和173,铁块和煤炭块。我的问题是为什么他们跳过他们,我如何解决它。
这是我曾经尝试过,因为他们被跳过我尝试这样做:
String f = key;
Material mat = Material.getMaterial(f.toUpperCase());
if(mat == Material.IRON_BLOCK||mat == Material.COAL_BLOCK)
{
// continue with code like the else
}
else
{
// same code as if they are iron block or coal block
}
然而,这不相同,并跳过他们。
注:我已经尝试了多个版本插口
最后一个问题:为什么Bukkit /插口API跳过铁块和煤块,而不是跳过一切,我将如何解决?
我试图扫描玩家的库存煤和铁矿石块(总是检测/发现他们)和'Material.getMaterial(41)'和'Material.getMaterial(173)'返回正确的材料。我使用Craftbukkit以及Spigot版本1.8.3和1.8.7。你的代码中的其他内容可能会导致此问题吗? –