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

Помогите Как сделать огнестойкость на голове

Тема в разделе "Разработка плагинов для новичков", создана пользователем gayph, 28 май 2024.

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

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

    Баллы:
    61
    Имя в Minecraft:
    gayph333
    Хочу сделать чтобы на шары можно было добавлять эффекты. Например огнестойкость. Работать он будет так, когда ты берешь шар во вторую руку тебе выдаётся бесконечная огнестойкость но когда ты убиваешь шар и правой руки у тебя пропадает эффект. И ещё я хочу чтобы все можно было настраивать в конфиги.
    Код:
    bunny
        Effects
           - название эффекта:уровень эффекта
     
  2. mirrerror

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

    Баллы:
    76
    Имя в Minecraft:
    mirrerror
    Проверяй через ивенты или таймер предмет в правой руке и получай его эффект. Сам эффект можешь хранить в PersistentDataContainer. Либо проверяй по тому, какая голова в руке, и давай эффект из конфига, если у тебя такая задумка. Предварительно желательно поместить готовые эффекты в HashMap
     
  3. Автор темы
    gayph

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

    Баллы:
    61
    Имя в Minecraft:
    gayph333
    А как сделать чтобы типо сколько ты эффектов в конфиги пропишешь столько ты и выдашь шару
     
  4. mirrerror

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

    Баллы:
    76
    Имя в Minecraft:
    mirrerror
    храни эффекты списком и выдавай все из списка игроку
     
  5. Автор темы
    gayph

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

    Баллы:
    61
    Имя в Minecraft:
    gayph333
    А как, я просто новичок и ничего не понимаю
     
  6. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Написали же выше - используй для хранения информации в предмете PersistentDataContainer. Читай: https://docs.papermc.io/paper/dev/pdc

    Если возникают вопросы - конкретизируй, что конкретно тебе не понятно
     
  7. Автор темы
    gayph

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

    Баллы:
    61
    Имя в Minecraft:
    gayph333
    Я не понимаю какие ивенты использовать
     
  8. therimuru_

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

    Баллы:
    66
    Имя в Minecraft:
    therimuru_
    PlayerSwapHandItemsEvent - ивент, который вызывается, когда игрок перекладывает предмет в/из одной руки в другую, нажатием клавиши (по дефолту - клавиша F)


    InventoryClickEvent - ивент, который вызывается, когда игрок кликает в каком либо инвентаре.

    Осталось допилить проверку в каждом ивенте, какой предмет находиться у игрока во второй руке, и выдавать эффект.

    P.S. Для InventoryClickEvent обязательно используй шедулер, чтобы проверки выполнялись через тик после клика, иначе информация будет устаревшей, и event.getInventory() будет возвращать состояние инвенторя для нажатия. Подробнее читай на странице InventoryClickEvent
     

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