Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Отслеживать уничтожение и создания блоков

travnik

Активный участник
Пользователь
Баллы
76
Добрый день,

Пишу плагин, который контролирует чтобы игрок не смог поставить больше блоков чем разрешено (Например, чтобы игрок не смог поставить больше 3х карьеров).
Столкнулся с проблемой, как отследить чтобы игрок не смог поставить блок с помощью черепашки или передвинуть поршнем, а так же как отследить уничтожение блока не игроком, а например другим карьером. Вообщем есть ли какие нить глобальные события которые генерируются при появлении/уничтожении блока в игре?
Спасибо.
 
Что не хочет срабатывать событие удаление блока

Код:
@EventHandler(priority = EventPriority.LOWEST)
    public void onBlockBreak(Block theBlock, Player player) {
вот событие, что делаю не так?
 
А с каких пор так события объявляют?
Вроде всегда так-то было...
JavaScript:
    @EventHandler
    public void onBlockDestroy(BlockBreakEvent ev) {
    }
JavaScript:
public class Main extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onBlockDestroy(BlockBreakEvent ev) {
    }
}
 
А с каких пор так события объявляют?
Вроде всегда так-то было...
* у говнокодеров. Про ignoreCancelled зря забываете...
же как отследить уничтожение блока не игроком, а например другим карьером. Вообщем есть ли какие нить глобальные события которые генерируются при появлении/уничтожении блока в игре?
Нет. Отследить механизмы нельзя. Они меняют блоки напрямую без всяких там событий. Хотите отслеживать - прикручивайте к ним события.
 
@travnik
События уже Вам расписали.

Но не забывайте, что если изменения производились плагином, то в 99.9% случаях авторы не озаботились вызовом соответствующего события -- соответственно обработчики событий об этом не узнают. И с этим надо смириться ;)
 
Спасибо, событие срабатывает. Осталось придумать как из мода прокидывать событие.
 

Поделиться этой страницей

Назад
Верх