1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Essentials API

Тема в разделе "Разработка плагинов для новичков", создана пользователем Tyzun, 7 мар 2014.

Статус темы:
Закрыта.
  1. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Облазил все API в Essentials но не нашел где брать собитие, когда игрок использует табличку(например [Buy] табличку). Можно ли это как-то добыть из Essentials?
     
  2. StealerSlain

    StealerSlain Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    StealerSlain
    Вручную попробуй создать. Проверка: если игрок кликает табличку, у которой на первой строке [Buy].
     
  3. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А он и не кидает такого эвента. Делай через PlayerInteractEvent
     
  4. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Я делал, но при отмене эвента он не отменяется(с любой табличкой отменяется кроме табличек из Essentials)
    Я даже заметил что если запретить через MachineGuard взаимодействовать с табличкой, всеранво Essentials таблички работают, хотя пишет что вам нельзя в этом регионе взаимодействовать с этим. Мне это нужно чтоб игрок немог юзать эти таблички при определенных условиях(но в остальных случаях чтоб можно было это делать)
     
  5. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Попробуй повысить приоритет листенера
     
  6. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    вот к примеру возьмем вот такой кусок кода:
    Код:
     @EventHandler(priority = EventPriority.HIGHEST)
    public void sign(PlayerInteractEvent e){
        Player p = e.getPlayer();
        Block b = e.getClickedBlock();
        if(p.getGameMode() == GameMode.CREATIVE){
        if ((b.getType() == Material.SIGN_POST) || (b.getType() == Material.WALL_SIGN)) {
            e.setCancelled(true);
            p.sendMessage("test");
           
          }
        }
    }
    Сообщение test приходит, но эвент, когда юзаю табличку с любой Essentials командой не отменяется всеравно
     
  7. aceJKE

    aceJKE Старожил Пользователь

    Баллы:
    123
    мб еще ignoreCancelled = true ?
     
    Bars нравится это.
  8. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    priority = EventPriority.HIGHEST

    ПОоставил самый низкий приоритет и удивляешься почему не работает ещё.
     
  9. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    100% вариант через пакеты:lol:
     
  10. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    хм, high - высоко, все логично!
    ну поставил я lowest, результат не изменился.
    нашел альтернативное решение
     
Статус темы:
Закрыта.

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