Java 无法解析列表

Java 无法解析列表,java,plugins,minecraft,Java,Plugins,Minecraft,它说即使我导入了“块”,也无法解析它…我使用的是Eclipse else if (spawn.distance(loc) > 11){ List<Block> blocks = UHCore.blocksBetweenPoints(player.getLocation().add(2, 2, 2), player.getLocation().subtract(2, 2, 2)); for (Block block : blocks); if (bloc

它说即使我导入了“块”,也无法解析它…我使用的是Eclipse

else if (spawn.distance(loc) > 11){

List<Block> blocks = UHCore.blocksBetweenPoints(player.getLocation().add(2, 2, 2), player.getLocation().subtract(2, 2, 2));
    for (Block block : blocks);
        if (block.getType() != Material.AIR)continue;
            if (block.getLocation().distance(spawn)>15){
                block.getWorld().playEffect(block.getLocation(), Effect.MOBSPAWNER_FLAMES, 2);
              }
    }

需要注意的主要问题是编译器抱怨的是块变量,而不是块类

由于;,您的for循环- 对于块:块;-是一个什么都不做的for循环

下一行在for循环之外,因此变量块不再在其范围内定义

您应该删除

此外,应该将for循环包装在{}中,因为有两条语句引用块变量

正确的代码是:

else if (spawn.distance(loc) > 11) {
    List<Block> blocks = UHCore.blocksBetweenPoints(player.getLocation().add(2, 2, 2),  
                                                    player.getLocation().subtract(2, 2, 2));
    for (Block block : blocks) {
        if (block.getType() != Material.AIR)
            continue;
        if (block.getLocation().distance(spawn)>15) {
            block.getWorld().playEffect(block.getLocation(), Effect.MOBSPAWNER_FLAMES, 2);
        }
    }
}

你想干什么?这对于找到问题的答案至关重要。@PhotographyBum我正在尝试编写插件,但有一个错误阻止了我……我有“import org.bukkit.block.block;”但是它说“挡块无法解决”,魔药对火基本上是在玩家周围形成一个力场…所以他们移动b4的空间有限,游戏开始时,取出;在if block.getType中!=Material.AIRcontinue,因为这可能会使代码行为有趣。还要将下一个if语句包装在{}中。是否检查了以确保已将外部库添加到项目生成路径中?另外,你的for循环应该在{}中加密谢谢,我把for循环放在{}中,一切都恢复正常..考虑到我写了所有这些,我觉得自己像个小傻瓜,但我得到了我无法理解的简单错误out@user3904781很高兴我能帮忙。别担心。这不太容易发现,否则你会在一两分钟内得到答案:@user3904781如果这个答案解决了你的问题,你应该单击复选标记将问题标记为已解决。