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

Помогите Убрать открытие сундука

Тема в разделе "Разработка плагинов для новичков", создана пользователем AntonMikon, 14 июн 2020.

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

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

    Баллы:
    66
    Код:
        @EventHandler
        public void Test(PlayerInteractEvent event) {
            Player p = event.getPlayer();
            Block b = (Block) event.getClickedBlock();
            if (event.getAction() == Action.RIGHT_CLICK_BLOCK && b.getType() == Material.CHEST) {
                if ((event.getBlockInventory().getName().equalsIgnoreCase("1")) {
                    event.setCancelled(true);
                    p.sendMessage("123test");
                }
            }
        }
    Почему-то не работает. выдает ошибку в строчке, где проверяю название сундука
     
  2. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Не тот эвент, используй ОпенИнвенториИвент, ошибка скорее всего потому-что не у всех сундуков есть инвентарь с названием (name = null)
     
  3. alexandrage

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

    Баллы:
    173
  4. Автор темы
    AntonMikon

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

    Баллы:
    66
    Теперь другая проблема, сундуки с названием "Сундук" не открываются, но это те сундуки, которым я прописал это название (/lore name Сундук) А стандартные сундуки открываются. Мне нужно, чтобы все сундуки с названием "Сундук" не открывались
     
  5. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Скорее всего, имя дефолтного сундука равно null, так что в ивенте открытия, отправь себе сообщение с именем сундука и посмотри чему оно равно, и после добавь нужное условие.
     
  6. alexandrage

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

    Баллы:
    173
    Они называются Chest :D
     
  7. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Хз не проверял, думал также как дисплейнейм айтемстака работает. Почему тогда у ТСа евент тригерит только на сундуки которые он назвал с помощью команды. И зачем вообще переименовывать "Сундук" в "Сундук", у меня так часто в жизни встречается подобная тавтология, что можно подумать я живу в матрице которая постоянно сбоит.

    ТС мб ты ошибся и думаешь, что сундук называется "Сундук", хотя реальное название "Chest"?
     
Статус темы:
Закрыта.

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