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

Помогите Сообщение о смерти от руки игрока(Постоянно NPE)

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

Статус темы:
Закрыта.
  1. Автор темы
    Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Я хотел что бы когда тебя убил игрок писало сообщение что ты умер от того то игрока.
    Но когда убивает моб, консоль страдает.
    Делал проверки "убил ли игрок" не помогло.
    Пробовал делать через getEnityType().name();, тоже фигня(Это я делал просто что бы показало кто убил моб,игрок и тд).

    if((this.getConfig().getBoolean("deathmplus")== true) && (this.getConfig().getBoolean("deathm")== false)){
    String p = e.getEntity().getName();
    Player pl = e.getEntity();
    String kill = e.getEntity().getKiller().getName();
    String prefix = PermissionsEx.getUser(pl).getPrefix().replace("&", "§");
    if ((!pl.isOp()) && (pl.hasPermission("бла")) && (!p.equals("бла"))){
    e.setDeathMessage(this.deathp.replaceAll("%prefix%", prefix).replaceAll("%name%", pl.getName()).replaceAll("%killer%", kill));
    }else{
    e.setDeathMessage(null);
    }
     
  2. Хостинг MineCraft
    <
  3. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    e.getEntity().getType()[DOUBLEPOST=1428914618,1428914552][/DOUBLEPOST]
    OMG
    Код:
    if(getConfig().getBoolean("deathmplus") && !getConfig().getBoolean("deathm"))
    
    
     
    Последнее редактирование: 13 апр 2015
  4. Автор темы
    Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Ну сорь, я с утра делал. Но задача то одна и та же.
     
  5. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Код:
        private Entity getKiller(EntityDeathEvent event) {
            EntityDamageEvent entityDamageEvent = event.getEntity()
                    .getLastDamageCause();
            if ((entityDamageEvent != null) && !entityDamageEvent.isCancelled()
                    && (entityDamageEvent instanceof EntityDamageByEntityEvent)) {
                Entity damager = ((EntityDamageByEntityEvent) entityDamageEvent)
                        .getDamager();
                if (damager instanceof Projectile) {
                    LivingEntity shooter = ((Projectile) damager).getShooter();
                    if (shooter != null)
                        return shooter;
                }
                return damager;
            }
            return null;
        }
    Метод для получения убийцы
     
  6. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    А p.getKiller() не работает?
     
  7. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Погляди принцип его работы
     
Статус темы:
Закрыта.

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