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

Помогите Как написать эвент с следующим ударом

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

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

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

    Баллы:
    61
    Пишу плагин на предметы которые выполняют определённые действия при нажатии F во второй руке.
    Захотел написать предмет при нажатии F, который будет выполнять подобное: игрок сможет одним первым ударом по противнику выдать тому эффект замедления(потом игрок до следующего нажатия F не сможет выдать эффект ударом), но понял, что не знаю как это реализовать.
    Спрашивал у chatgpt - выдаёт абсолютно другой код.
     
  2. Level132331

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

    Баллы:
    66
    Именно кнопки нельзя отслеживать. При нажатии F(когда перс берет во вторую руку предмет) вызывается ивент PlayerSwapHandItemsEvent
     
  3. Автор темы
    extThrower

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

    Баллы:
    61
    Знаю, я и так делаю через этот ивент
     
  4. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    При использовании предмета вешаешь на него метку, что предмет был использован.
    При нажатии F удаляешь метку.
    Если при использовании предмета метка уже есть, то эффект накладываться не должен.

    Для наложения/удаления метки на ItemStack можно использовать PersistentDataContainer: https://docs.papermc.io/paper/dev/pdc
     
  5. Автор темы
    extThrower

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

    Баллы:
    61
    Можно пример если не сложно пожалуйста, я немножко глуповат
     
  6. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    PDC - фактически обёртка для NBT. Есть ключи и значения с примитивными данными.

    Примеры работы с PDC есть по ссылке, которую дал выше.

    В качестве флага можно использовать любое значение. Из коробки PDC вроде не поддерживает boolean, поэтому можно заюзать byte, например
     
Статус темы:
Закрыта.

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