Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Статус
Закрыто для дальнейших ответов.

extThrower

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

Для наложения/удаления метки на ItemStack можно использовать PersistentDataContainer: https://docs.papermc.io/paper/dev/pdc
 
При использовании предмета вешаешь на него метку, что предмет был использован.
При нажатии F удаляешь метку.
Если при использовании предмета метка уже есть, то эффект накладываться не должен.

Для наложения/удаления метки на ItemStack можно использовать PersistentDataContainer: https://docs.papermc.io/paper/dev/pdc
Можно пример если не сложно пожалуйста, я немножко глуповат
 
Можно пример если не сложно пожалуйста, я немножко глуповат
PDC - фактически обёртка для NBT. Есть ключи и значения с примитивными данными.

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

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

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

Назад
Верх