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

Помогите Рефлексия [Решено(Оооо дааа)]

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

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

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

    Баллы:
    96
    Да не, буду костылить. Если итеракт с одной из пушек в ноу пвп, то до упора вверх уводить камеру игрока.
     
  2. alexandrage

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

    Баллы:
    173
    Ты бы лучше крутил ивенты на 1.7.10, а то так и буете дрочить на динозавре.
     
  3. Blc_Dragon

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

    Баллы:
    76
    орнул, но +1
     
  4. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    xD, и для этого время найду)0
     
  5. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
  6. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    Угадай что мне ответили.
     
  7. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Не так уж и плохо, но ивенты будут получше.
     
  8. alexandrage

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

    Баллы:
    173
  9. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    Мож он для примера... кто знает
     
  10. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Ты о чем? О возвращаемом типе? T "подстраивается" под требуемый нам тип.
    Нет, я дал готовое решение.
     
  11. alexandrage

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

    Баллы:
    173
    Типо специально? Чтоб вызвать еще большее отставание сверкой строки с игроком? Ясно - понятно.
     
  12. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Я тебя сейчас не совсем понял.
     
  13. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    В этом поле сидит следующие: http://joxi.ru/KAx9lykCMbDa7r
    Это мод.
     
  14. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    А, не заметил тип, сорян.

    https://github.com/TheQmaks/ReflectionAPI/blob/master/qmaks/Reflection.java
    Код:
    Entity owner = getField(entity.getClass(), entity, "owner");
    Profit.
    И я знаю, что это мод. Делал под него модификации разные.
     
  15. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    Ок. java.lang.NoSuchFieldException: owner
    Код:
        @EventHandler
        public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
             Entity entity = event.getDamager();
             Entity attacker = getField(entity.getClass(), entity, "owner");
        }
    
    Угадайте, где выскочила ошибка выше? Понимаешь, что в Bukkit Entity нет нужного нам поля, я повторюсь ещё раз, это мод. Всё не так просто. Да и тем более, нам нужно чтобы к нам вернулось оригинальный Entity майнакрафта.
     
  16. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Причем тут...Если мы в entity получаем EntityBullet, тогда все профит.

    Код:
        @EventHandler
        public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
           Entity entity = event.getDamager();
           if(entity instanceof EntityBullet) {
              Entity attacker = getField(entity.getClass(), entity, "owner");
           }
        }
    

    Сам бы уже давно сделал...
     
  17. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    А прикол в том, что я стрелял только пулями. Там ничего другого не могло вылезти. Он его не получил.
     
  18. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Видишь ли, если бы в баките не обрабатывались модовские ентити, то их существование на серверной стороне было бы невозможным.
     
  19. Автор темы
    Exception_Prototype

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

    Баллы:
    96
  20. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    Код:
            Entity entity = event.getDamager();
            if (entity != null && entity.getType() == EntityType.PLAYER) {
                Player pl = (Player) event.getDamager();
                Bukkit.broadcastMessage(CHAT_PREFIX + "[Debug] attacker is player");
            } else {
                Bukkit.broadcastMessage(CHAT_PREFIX + "[Debug] attacker is not player");
            }
    
    [​IMG]
     

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