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

Помогите Эффект с предмета если он в слоте

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

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

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

    Баллы:
    76
    Здравствуйте, возник такой вопрос : как применять на игрока баффы, которые прописаны в предмете, когда он кладет айтем в 10-или-11-или-12 слот инвентаря? Казалось бы легко, бери лор и преобразуя в эффект накладывать на игрока. Но самое сложное в том что это нужно сделать для MyItems плагина, что бы когда игрок клал предмет в 10-ый слот все баффы и прочие статы с кастомного предмета автоматически применялись на игрока?
    API вроде не дает такой возможности, поэтому есть подозрение что надо как-то обмануть машину что бы она думала что предмет в руке(или в слоте брони) и активировала его баффы, но как это сделать даже мысли нет, уже час копаю Bukkit API и исходники MyItems что бы найти что может помочь. Но либо я тупой либо этого сделать нереально.

    Спасибо что прочитали и подумали мне помочь)
     
  2. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Ну как минимум можно раз в n-секунд проверять этот слот у игрока и уже брать из лора(Или из апи плагина MyItems, возмонжо апи позволяет брать такую инфу) информацию, а после уже бафы накладывать
     
  3. alexandrage

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

    Баллы:
    173
    Ты топой - выбрасывай. Если даже с сурсами не смог дописать дополнительные слоты.
     
  4. alexandrage

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

    Баллы:
    173
    Тоже не лучше D.
     
  5. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Ну тык да, я где-то говорил, что лучше?)
     
  6. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Эмм, зачем, если можно просто отлавливать InventoryInteractEvent чтобы узнавать, когда игрок кладет/убирает предмет?
     
  7. alexandrage

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

    Баллы:
    173
    Есть туча способов проиграть стак, dead, clear, etc.
     
  8. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Ну, значит отслеживать предмет и раз в 15, скажем, секунд накладывать эффект
     
  9. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    И тут ты вернулся к моему же способуXD
    Pi.Si. Бедолуджи
     
  10. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Ну, это хоть и не шибко правильно, но явно лучше, чем отслеживать 100500 способов потери/получения предмета
     
  11. alexandrage

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

    Баллы:
    173
  12. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
  13. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
  14. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Ясен пень, готовый код интересней, однако пиши сам
     
  15. alexandrage

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

    Баллы:
    173
  16. Автор темы
    AlexMor

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

    Баллы:
    76
    Спасибо всех за помощь, мне кинули мут за неправильное название статьи поэтому ответить не мог :3

    А соурсов я не видел к этим плагинам, я вручную декомпилил и читал код т.к. собирался обратно он криво, но в итоге раскопал что MyItems коннектится с RPGPlayerLeveling , а этот плагин имеет свои статы и коннектится с RPGinventory, и если в двух словах то я создал сурогатный класс RPGInventoryAPI в котором делаю все что мне нужно, вызывается автоматически и тогда когда надо (Спасибо создателям RPGplayerLeveling). Незнаю на сколько это правильно но работает стабильно ;3
     

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