- Баллы
- 96
- Имя в Minecraft
- Xezard
Добрый день, уважаемые форумчане.
Пишу свой плагин и натолкнулся на непростую ситуацию.
Цель: после 5 попаданий стрелой по блоку - ломать его.
(breakNaturally)
Для решения этой задачи я решил использовать setMetadata для блоков по которым попал.
Код:
Проблема в том, что мой метод не работает.
Вопрос:
Что мне нужно добавить/убрать чтобы мой метод работал?
Или есть более продуктивное решение моей проблемы?
Пишу свой плагин и натолкнулся на непростую ситуацию.
Цель: после 5 попаданий стрелой по блоку - ломать его.
(breakNaturally)
Для решения этой задачи я решил использовать setMetadata для блоков по которым попал.
Код:
Java:
public void onHit(ProjectileHitEvent event)
{
Projectile projectile = event.getEntity();
Player player = (Player) projectile.getShooter();
/*Собственно, тут метод, возвращающий блок, по которому попала стрела. Возвращает - hitBlock.
*/Дальше имею:
if (projectile instanceof Arrow && hitBlock.getType == Material.SANDSTONE)
{
hitBlock.setMetadata("number", new FixedMetadataValue(plugin, +1));
}
if (projectile instanceof Arrow && hitBlock.getMetadata("number").get(0).asInt() > 5)
{
hitBlock.breakNaturally;
}
}
}
Проблема в том, что мой метод не работает.
Вопрос:
Что мне нужно добавить/убрать чтобы мой метод работал?
Или есть более продуктивное решение моей проблемы?
Последнее редактирование:
