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

Статус
Закрыто для дальнейших ответов.

TheMrQuake

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
TheMrQuake
Здравствуйте! Подскажите (Подробно) как привязать убийцу к мобу? Ну то есть, если моб умирал то к определенному игроку привязывался килл. При этом моб умирает без взаимодействия этого игрока, а как-то сам или через ивенты.
 
Создаем HashMap для хранения "привязок"
Где ключ это entity unique id, а объект ник игрока(или uuid если это 1.7 и выше)
Java:
HashMap<UUID, String> map = new HashMap<UUID, String>();
Привязываем моба к игроку
Java:
map.put(mob.getUniqueID(), player.getName());
Отлавливаем смерть всех entity что есть в HashMap'e
Если таковой entity имеется, достаем игрока и делаем с ним что хотим
Java:
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. Не уверен что они сохраняют свою актуальность после перезапуска сервера
 
Создаем HashMap для хранения "привязок"
Где ключ это entity unique id, а объект ник игрока(или uuid если это 1.7 и выше)
Java:
HashMap<UUID, String> map = new HashMap<UUID, String>();
Привязываем моба к игроку
Java:
map.put(mob.getUniqueID(), player.getName());
Отлавливаем смерть всех entity что есть в HashMap'e
Если таковой entity имеется, достаем игрока и делаем с ним что хотим
Java:
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. Не уверен что они сохраняют свою актуальность после перезапуска сервера
Огромное спасибо!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх