Как поджигать сторону блока проджектайлом?

MarinCod

Пользователь
Сообщения
81
Проблема вот в чём.

Код:
e.getHitBlock().getRelative(e.getHitBlockFace()).setType(Material.FIRE);

Всё работает отлично, блок поджигается с той стороны, в которую попал снаряд. Дело лишь в том, что спавнится блок огня, а не поджигается сторона блока, в который ты попал. Выглядит это не как горение например листвы дерева, а будто блок огня висит в воздухе. Можно ли это как-то исправить?
 
Решение
Java:
BlockFace face = e.getHitBlockFace();
Block block = e.getHitBlock().getRelative(face);
if (face == BlockFace.UP) {
    block.setType(Material.FIRE);
    return;
}
MultipleFacing data = (MultipleFacing) Material.FIRE.createBlockData();
data.setFace(face.getOppositeFace(), true);
block.setBlockData(data, false);
Java:
BlockFace face = e.getHitBlockFace();
Block block = e.getHitBlock().getRelative(face);
if (face == BlockFace.UP) {
    block.setType(Material.FIRE);
    return;
}
MultipleFacing data = (MultipleFacing) Material.FIRE.createBlockData();
data.setFace(face.getOppositeFace(), true);
block.setBlockData(data, false);
 
Назад
Сверху Снизу