Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

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

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

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

    Баллы:
    123
    Мне надо удалить из вещи мира которые пытается поднять/дропнуть игрок если эта вещь находится в конфиге и у игрока нет специального разрешение на поднятие/дропанье таких вещей, использую такой код, но, сообщение посылается, а вещи дропать и поднимать - можно...
    Как правильно это все реализовать?
    Код:
    @EventHandler
        public void oPPIE(PlayerPickupItemEvent event) {
            if (PermissionsEx.getUser(event.getPlayer()).has("gw.item_protector.ignore")) {
                return;
            }
            List<Integer> list = config.getIntegerList("Lists.protectedItems");
            if (list.contains(event.getItem().getItemStack().getTypeId())) {
                event.getItem().getItemStack().setTypeId(0);
                event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + "&cВзаимодействие с данным предметом запрещено."));
            }
        }
    
        @EventHandler
        public void oPDIE(PlayerDropItemEvent event) {
            if (PermissionsEx.getUser(event.getPlayer()).has("gw.item_protector.ignore")) {
                return;
            }
            List<Integer> list = config.getIntegerList("Lists.protectedItems");
            if (list.contains(event.getItemDrop().getItemStack().getTypeId())) {
                event.getItemDrop().getItemStack().setTypeId(0);
                event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + "&cВзаимодействие с данным предметом запрещено."));
            }
        }
     
  2. Хостинг MineCraft
    <
  3. MrTrojan

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

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
    Зачем так делать, если можно так?
    Код:
    if(p.hasPermission("твоё.право")) {
     
  4. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    event.setCancelled(true);
     
  5. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Неа,
    [DOUBLEPOST=1443186818,1443186328][/DOUBLEPOST]
    Ну вот хочется мне проверять именно пексом!
     
  6. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    e.getItemDrop().remove();
     
  7. Lucatjuh

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

    Баллы:
    76
    Skype:
    lucatjuhcraft
    Имя в Minecraft:
    Lucatjuh
    Он не всегда работает.
     
  8. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Эм, и в каких случаях он не работает?
     
  9. OsipXD

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

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Не проверяйте пексом. Подключите Vault.

    Чтобы отменить событие есть метод
    Код:
    event.setCancelled(true);
    А это вообще не нужно:
    Код:
    event.getItem().getItemStack().setTypeId(0);
     
  10. oDD1

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

    Баллы:
    123
    Имя в Minecraft:
    oDD1
    Создай в другом месте переменные с информацией из конфига ибо так как сделано сейчас ты каждый раз при обработке события дергаешь файл конфига.
     
  11. Lucatjuh

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

    Баллы:
    76
    Skype:
    lucatjuhcraft
    Имя в Minecraft:
    Lucatjuh
    У меня он не работает
     
  12. LomNar

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

    Баллы:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    Чей-то? Криво перм написал или криво условие составил
     
  13. oDD1

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

    Баллы:
    123
    Имя в Minecraft:
    oDD1
    Для этого нужен Vault, у него на гитхабе есть инструкция по подключению. Ошибиться нужно уметь.
     
  14. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Ребят сорян забыл закрыть тему, но я просто сталь вызывать метод
    И все отлично зароботало!
    И пексом тоже решил не проверять, он там чето немного глючный...
     
Статус темы:
Закрыта.

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