В чем ошибка?

Код:
if(wrd.blockExists(x, y+1, z)){
        wrd.setBlock(x+1, y, z, Blocks.fire);
        }else{
        wrd.setBlock(x, y+1, z, Blocks.fire);
        }
Проверяю, если над блоком есть еще блок, то спавнит огонь на 1 клетку дальше. А получается так, что есть или нет блок, плевать, он спавнит сразу +1 клетку. Что я делаю не так?
 
setBlock - нехорошо. Лучше не создавать вещи, разрушающие бедрок.
 
Код:
if (!world.isAirBlock(x, y + 1, z)) {
if (world.isAirBlock(x, y + 2, z)) {
block.setBlock(x, y + 2, z, Blocks.fire);
}
}
 
timaxa007 написал(а):
Код:
if (!world.isAirBlock(x, y + 1, z)) {
if (world.isAirBlock(x, y + 2, z)) {
block.setBlock(x, y + 2, z, Blocks.fire);
}
}
Решил проблему немного по другому 
Код:
if(wrd.isAirBlock(x, y + 1, z)){
        wrd.setBlock(x, y+1, z, Blocks.fire);
        }else if(!wrd.isAirBlock(x, y + 1, z)){
        wrd.setBlock(x+1, y, z, Blocks.fire);
        }
 
Код:
wrd.blockExists(x, y+1, z)
Этот метод проверяет, существует ли вообще блок на координатах.
Воздух тоже блок, вот проверка и срабатывает на него.
Блок может не существовать в том случае, если чанк на тех координатах еще не создался.
 
Назад
Сверху