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

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

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

  1. alexandrage

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

    Баллы:
    173
    Который наследуется от net.minecraft.server.v1_6_R3.Entity.
     
  2. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    А, я тебя понял. Да, там можно изменить чутка.
     
  3. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    Финальный вариант.
    Код:
               CraftEntity craft_entity = (CraftEntity) event.getDamager();
                net.minecraft.server.v1_6_R3.Entity original_entity = craft_entity.getHandle();
                if (original_entity.getClass().getName().endsWith(ENTITYBULLET)) {
                    net.minecraft.server.v1_6_R3.Entity owner = getField(original_entity.getClass(), original_entity, "owner");
                    Entity bukkit_entity = owner.getBukkitEntity();
                    if (bukkit_entity instanceof Player) {
                        p = (Player) bukkit_entity;
                        if (!isEnablePVP(p)) {
                            EffectAndGuardMsg(p);
                            event.setCancelled(true);
                        }
                    }
    
     
  4. alexandrage

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

    Баллы:
    173
    И нужно учесть неожиданный выход игрока, где ссылка на owner обнулится. А то можно словить нпе.
     
  5. Автор темы
    Exception_Prototype

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

    Баллы:
    96
    minecraft Entity прям делается null если игрок ливает?
     
  6. alexandrage

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

    Баллы:
    173
    Конечно, иначе утечка памяти будет. Или сервер решит что игрок еще играет.
    Я тут вспомнил баг какой то версии мспс, где можно было зайти одним и тем же игроком 2 раза :D.
     
  7. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Лол)
     
  8. OsipXD

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

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Какая жесть.
     
  9. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Да ладно тебе, код вполне понятный и логичный
     
  10. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Хе)
     

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