- Баллы
- 173
Который наследуется от net.minecraft.server.v1_6_R3.Entity.Уже сделали эту фигню. Вариант рабочий.
Такне будет ибо получаем мы не бакитовского Entity, а EntityPlayerMP.Код:Entity крафтигрок = игрок.getBukkitEntity();
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Который наследуется от net.minecraft.server.v1_6_R3.Entity.Уже сделали эту фигню. Вариант рабочий.
Такне будет ибо получаем мы не бакитовского Entity, а EntityPlayerMP.Код:Entity крафтигрок = игрок.getBukkitEntity();
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);
}
}
И нужно учесть неожиданный выход игрока, где ссылка на owner обнулится. А то можно словить нпе.Финальный вариант.
Java: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); } }
minecraft Entity прям делается null если игрок ливает?И нужно учесть неожиданный выход игрока, где ссылка на owner обнулится. А то можно словить нпе.
Конечно, иначе утечка памяти будет. Или сервер решит что игрок еще играет.minecraft Entity прям делается null если игрок ливает?
.Лол)Конечно, иначе утечка памяти будет. Или сервер решит что игрок еще играет.
Я тут вспомнил баг какой то версии мспс, где можно было зайти одним и тем же игроком 2 раза.
Да ладно тебе, код вполне понятный и логичныйКакая жесть.
Хе)Да ладно тебе, код вполне понятный и логичный