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

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

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

  1. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Который наследуется от net.minecraft.server.v1_6_R3.Entity.
     
  2. Хостинг MineCraft
    <
  3. Qmaks

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

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

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

    Баллы:
    46
    Финальный вариант.
    Код:
               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);
                        }
                    }
    
     
  5. alexandrage

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

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

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

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

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

    Баллы:
    173
    Skype:
    alexandr0116
    Конечно, иначе утечка памяти будет. Или сервер решит что игрок еще играет.[DOUBLEPOST=1489959212,1489959031][/DOUBLEPOST]Я тут вспомнил баг какой то версии мспс, где можно было зайти одним и тем же игроком 2 раза :D.
     
  8. Qmaks

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

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

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

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

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

    Баллы:
    76
    Да ладно тебе, код вполне понятный и логичный
     
  11. Qmaks

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

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

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