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

Отслеживать клик по блоку после ввода команды

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

  1. Автор темы
    ilya50

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

    Баллы:
    76
    Как можно отследить клик по блоку после ввода команды ? Можно конечно чекать все клики и сравнивать с хеш картой, но мне кажется что это костыльно
     
  2. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Иначе никак, ахахах.... Это не костыль
     
  3. alexandrage

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

    Баллы:
    173
    PlayerInteractEvent
     
  4. EnderBro3D

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

    Баллы:
    76
    Имя в Minecraft:
    EnderBro3D
    1. Не тестил
    2. Писал не в IDE
    3. В плане скорости не знаю
    4. Пользуйся на свой страх и риск
    5. Хочешь отблагодарить, что я сломал сервер? Пиши в лс, скину киви

    Код:
    public class Command implements CommandExecutor {
      public void onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        Bukkit.getPluginManager().registerEvents(Main.getPlugin(),
          new InteractListener((Player) sender));
      }
    }
    public class InteractListener implements Listener {
     
      private Player player;
    
      public InteractListener(Player player) {
        this.player = player;
      }
    
      public void unregister() {
        HandlerList.unregister(this);
      }
     
      @EventHandler
      public void onInteract(PlayerInteractEvent event) {
        if(e.getPlayer().equals(player)) {
          //TODO
          unregister();
        }
      }
    }
     
  5. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Так это и делается.
     

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