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

Помогите Запрет вещей

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

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

    Fi4iK Новичок

    Баллы:
    6
    Имя в Minecraft:
    Fi4iK
    Дорогие разработчики! Вопрос у меня такой: как запретить крафт вещей из модов?
    Желательно пример кода:)
     
  2. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Делать отмену события.
     
  3. Автор темы
    Fi4iK

    Fi4iK Новичок

    Баллы:
    6
    Имя в Minecraft:
    Fi4iK
    Америку открыл!!!
    Как получить Айди предмета из мода или просто как получить информацию блока(предмета) что бы сделать проверку и сдать эту отмену
     
  4. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Узнать название предмета думаю можно так, но это не точно. ID предмета из модов никогда не используй, они меняются!!!

    Player p = (Player) sender;
    p.sendMessage("Название предмета, который вы держите в руке: " + p.getItemInHand().getType());

    Это отмена события, т.е. мы пишем в конфиг название предмета вот так:
    items:
    - первый предмет
    - второй предмет

    @EventHandler
    public void onCraftItem(CraftItemEvent e) {
    for (String item : getConfig().getStringList("items")) {
    if (e.getCurrentItem().getType() == Material.getMaterial(item)) {
    e.setCancelled(true);
    }
    }
    }
     
  5. _MasterCapeXD_

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

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    У самого была такая проблема. Я сделал так: создал команду, в которой проверял букв. id.
    String item = player.getItemInHand().getType().name(); player.sendMessage(name);
    В игре получил сообщение, и уже знал ID, потом его использовал
     
  6. Автор темы
    Fi4iK

    Fi4iK Новичок

    Баллы:
    6
    Имя в Minecraft:
    Fi4iK
    Спасибо! Опробуем:)
     
  7. Автор темы
    Fi4iK

    Fi4iK Новичок

    Баллы:
    6
    Имя в Minecraft:
    Fi4iK
    Сейчас увидел в консоли следующие строки:
    Injected new Forge block material THERMALEXPANSION_TANK with ID 165
    Скорее всего это и есть название блока?
     
  8. Slavkaa

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

    Баллы:
    76
    Имя в Minecraft:
    Slavok2001
    Зачем спрашивать, когда можно проверить?
     
  9. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Да, это имя танка из thermal expansion
     
  10. oDD1

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

    Баллы:
    123
    Ванильный верстак то запретите, а вот модовский - нет.
     
  11. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Почему это?
     

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