Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Нахождение моба и наложение эффекта на него при ударе игроком

Andels

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Andelsz
Добрый день.Я всего лишь второй день изучаю написание плагинов и хотелось бы попросить небольшой помощи т.к. самому найти не получилось.В общем,задумка такая:
есть предмет,когда игрок бьёт им по другому игроку,на игрока получившего урон накладывается эффект медлительности медлительности на 5 секунд.Написано корявенько.но выглядит так:
/*
if(e.getDamager() instanceof Player) {
String posoh = "&bЗаморозка";
Player p = (Player) e.getDamager();
Player b = (Player) e.getEntity();
Entity hren = e.getDamager();
if( ((Player) hren).getItemInHand().getItemMeta().getDisplayName().contains(posoh)) {
b.setHealth(20);
b.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 200, 10), true);
e.setCancelled(true);
}
// + hren.getItem().getItemMeta().getDisplayName().contains(pixi)
//b.setFireTicks(200);
}

*/
Как можно сделать тоже самое,но с мобами?Подскажите пожалуйста.
 
Окей,допустим у меня получился вот такой код,который зажигает мобов,которых я бью.А как на них эффект медлительности наложить-то?

public void onDamage(EntityDamageByEntityEvent e) {
if(e.getDamager() instanceof Player) {
Entity ent = e.getEntity();
ent.setFireTicks(2000);
}
}
 
Окей,допустим у меня получился вот такой код,который зажигает мобов,которых я бью.А как на них эффект медлительности наложить-то?

public void onDamage(EntityDamageByEntityEvent e) {
if(e.getDamager() instanceof Player) {
Entity ent = e.getEntity();
ent.setFireTicks(2000);
}
}
PHP:
if (entity instanceof LivingEntity) {
    ((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 100, 1));
}
 
Код:
public void onDamage(EntityDamageByEntityEvent e) {
  if(e.getDamager() instanceof Player) {
    Player p = (Player)e.getEntity();
    ent.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, *время в тиках*, *амплифаер*));
  }
}
 

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

Назад
Верх