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

Помогите Как запретить помещать предмет в инвентаре.

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

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

    tokarev Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    tokarev
    Добрый день, возникла проблема взаимодействия игрока со своим инвентарем. Как сделать следующее: когда я помещаю предмет в определенный слот (держа при этом его мышкой) он обратно прилипал к курсору и не давал поместить предмет в слот кроме 0 слота.
     
  2. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    InventoryClickEvent. Проверяй наличие предмета на курсоре getCursor() и слот.
     
  3. Автор темы
    tokarev

    tokarev Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    tokarev
    Спасибо за ответ , нет ли случайно примера кода, т.к я только начинаю писать плагины.
     
  4. NuaN

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

    Баллы:
    96
    Имя в Minecraft:
    NuaN
  5. Автор темы
    tokarev

    tokarev Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    tokarev
    Спасибо, встречный вопрос тоже связан с данной темой. Как запретить свапать предмет в хотбаре кнопками 1-9?
     
  6. Автор темы
    tokarev

    tokarev Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    tokarev
    Вот пример моего кода:
    @EventHandler
    public void LegendInvNice(InventoryClickEvent event) {
    Player player = (Player) event.getWhoClicked();
    if (player.isOp() || player.getGameMode() == GameMode.CREATIVE) {
    return;
    } else {
    ItemStack itemclicked = event.getCurrentItem();
    if (itemclicked.getType() == Material.BONE || itemclicked.getType() == Material.MAGMA_CREAM)
    event.setCancelled(true);
    }
    }
     
  7. NuaN

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

    Баллы:
    96
    Имя в Minecraft:
    NuaN
    Код:
    if (event.getClick() == ClickType.NUMBER_KEY) {
    
    }
    И еще совет, лучше искать подобную информацию на английском. На зарубежных форумах такие вопросы уже давно решены.
     
  8. Автор темы
    tokarev

    tokarev Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    tokarev
    Спасибо!
     
  9. Автор темы
    tokarev

    tokarev Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    tokarev
    Да, там много годной инфы, но с пониманием туго, ну ладно..
    Вот мой последний код и тут опять проблема, кость не свапается и не перетаскивается (то чего я как раз добивался) , но при этом пострадали другие предметы их теперь нельзя свапнуть.. Если не трудно укажи на ошибку.
    @EventHandler
    public void LegendInvNice(InventoryClickEvent event) {
    Player player = (Player) event.getWhoClicked();
    if (player.isOp() || player.getGameMode() == GameMode.CREATIVE) {
    return;
    } else {
    ItemStack itemclicked = event.getCurrentItem();
    if (itemclicked.getType() == Material.BONE)
    event.setCancelled(true);
    }
    }
    @EventHandler
    public void LegendInvNice1(InventoryClickEvent event) {
    ItemStack itemclicked = event.getCurrentItem();
    if (event.getClick() == ClickType.NUMBER_KEY && itemclicked.getType() != Material.BONE) {
    event.setCancelled(true);
    }
    }
     
    Последнее редактирование: 30 июл 2020
  10. NuaN

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

    Баллы:
    96
    Имя в Minecraft:
    NuaN
    Тут разве так должно должно быть?
    Код:
    != Material.BONE
     
  11. Автор темы
    tokarev

    tokarev Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    tokarev
    Если я поставлю там == Material.BONE, то кость не свапается и в хот баре и в инвентаре клавишами
     

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