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

Помогите Как назначить убийцу к мобу?

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Здравствуйте! Подскажите (Подробно) как привязать убийцу к мобу? Ну то есть, если моб умирал то к определенному игроку привязывался килл. При этом моб умирает без взаимодействия этого игрока, а как-то сам или через ивенты.
     
  2. Хостинг MineCraft
    <
  3. Shockwave

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

    Баллы:
    103
    Создаем HashMap для хранения "привязок"
    Где ключ это entity unique id, а объект ник игрока(или uuid если это 1.7 и выше)
    Код:
    HashMap<UUID, String> map = new HashMap<UUID, String>();
    Привязываем моба к игроку
    Код:
    map.put(mob.getUniqueID(), player.getName());
    Отлавливаем смерть всех entity что есть в HashMap'e
    Если таковой entity имеется, достаем игрока и делаем с ним что хотим
    Код:
    public void onEntity(EntityDeathEvent e) {
    UUID uuid = e.getEntity.getUniqueID();
    if(map.containsKey(uuid) {
    Player p  = Bukkit.getPlayer(map.get(uuid));
    map.remove(uuid);
    // Выполняете действия с игроком ( отправить сообщение, выдать опыт  и.т.д )
    }
    }
    P.S Насчет UUID. Не уверен что они сохраняют свою актуальность после перезапуска сервера
     
  4. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Сохраняют.
     
  5. Автор темы
    TheMrQuake

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

    Баллы:
    66
    Имя в Minecraft:
    TheMrQuake
    Огромное спасибо!
     
Статус темы:
Закрыта.

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