它说'阻止'即使我导入它也无法解决...我正在使用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);
}
}
答案 0 :(得分:0)
需要注意的主要事情是编译器抱怨block
变量,而不是Block
类。
由于;
,你的for循环 -
for (Block block : blocks);
- 是一个无效的for循环
下一行在for循环之外,因此变量block
不再在其范围内定义。
您应该删除;
。
此外,您应该在{}
中包含for循环,因为您有两个引用block
变量的语句。
正确的代码是:
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);
}
}
}