Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

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

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

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

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

    alexandrage Администратор

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

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    орнул, но +1
     
  5. Автор темы
    Exception_Prototype

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

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

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

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

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

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

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

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

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
  10. Автор темы
    Exception_Prototype

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

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

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

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

    alexandrage Администратор

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

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

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

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

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

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

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

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

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

    Баллы:
    46
    Ок. java.lang.NoSuchFieldException: owner
    Код:
        @EventHandler
        public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
             Entity entity = event.getDamager();
             Entity attacker = getField(entity.getClass(), entity, "owner");
        }
    
    Угадайте, где выскочила ошибка выше? Понимаешь, что в Bukkit Entity нет нужного нам поля, я повторюсь ещё раз, это мод. Всё не так просто. Да и тем более, нам нужно чтобы к нам вернулось оригинальный Entity майнакрафта.
     
  17. 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");
           }
        }
    
    [DOUBLEPOST=1489949575,1489949457][/DOUBLEPOST]Сам бы уже давно сделал...
     
  18. Автор темы
    Exception_Prototype

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

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

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

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

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

    Баллы:
    46
  21. Автор темы
    Exception_Prototype

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

    Баллы:
    46
    Код:
            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]
     

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