- Баллы
- 68
Добрый день!
Задача: удалить дроп, который содержится в блоке из мода. Проблема в том, что через getDrops().clear() удаляется только дроп самого блока, а то, что содержалось в нем-нет.
Если просто изменить тип, то из него вылетают вещи.
Сделал такую очистку:
Есть ли более хороший способ это реализовать?
Задача: удалить дроп, который содержится в блоке из мода. Проблема в том, что через getDrops().clear() удаляется только дроп самого блока, а то, что содержалось в нем-нет.
Если просто изменить тип, то из него вылетают вещи.
Сделал такую очистку:
Код:
@EventHandler()
public void onBlockBreak(BlockBreakEvent e)
{
if(e.isCancelled()) { return; }
e.getBlock().breakNaturally();
List<Entity> entity = e.getBlock().getWorld().getEntities();
for(Entity ent : entity) {
if(ent instanceof Item) {
if (ent.getLocation().distance(e.getBlock().getLocation()) < 2) {
ent.remove();
}
}
}
}
Есть ли более хороший способ это реализовать?
Последнее редактирование:
