Помогите Если здоровье меньше...

  • Автор темы Автор темы _Rudey_
  • Дата начала Дата начала
1.Выкинуть в окно это, с 10 этажа разумеется
if(event instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) event).getDamager() instanceof Player) {
2. Написать вот так:

Код:
if (!(e.getDammager() instanceof Player)){
return true;
}

Тфу ты уже это написал
  • public void on(EntityDamageByEntityEvent e) {
  • UUID uuid = e.getEntity().getUniqueId();
  • if(mob.get(uuid)!=null) {
  • //Что то делаем
  • mob.remove(uuid);
  • }
  • }
Хочется аж облизать это, только можно же просто проверить сущность на принадлежность :D Или... Instanceof медленyее?
 
UUID uuid = e.getEntity().getUniqueId();
это нам что? Ловить евент спавна моба? Проверять есть ли тип этого моба в кофниге, и потом туда же заносить этот ууид чтобы при перезапуске заного в мапу загрузить?

Ты хотябы читай что нужно.
 
О какой работе идёт речь?
Почему работа? Помощь, ТС тоже человек, и кидать ему это, ну как то знаешь... ну... ты меня понял
это нам что? Ловить евент спавна моба? Проверять есть ли тип этого моба в кофниге, и потом туда же заносить этот ууид чтобы при перезапуске заного в мапу загрузить?

Ты хотябы читай что нужно.
У мобов нету UUID карл, или...
 
Жуй.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        UUID uuid = e.getEntity().getUniqueId();
        if(mob.get(uuid)!=null) {
            //Что то делаем
            mob.remove(uuid);
        }
    }
Пруфит!
Где настройка нужных для ивента мобов, порог здоровья, мобы для спавна?В конец, откуда взялся mob?
 
это нам что? Ловить евент спавна моба? Проверять есть ли тип этого моба в кофниге, и потом туда же заносить этот ууид чтобы при перезапуске заного в мапу загрузить?

Ты хотябы читай что нужно.
Хотели одноразовое выполнение, я его вам дал.
 
это нам что? Ловить евент спавна моба? Проверять есть ли тип этого моба в кофниге, и потом туда же заносить этот ууид чтобы при перезапуске заного в мапу загрузить?

Ты хотябы читай что нужно.
Вот 2й варик без конфигов.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        if(e.getEntity().getCustomName()==null) return;
        //Сперва проверкана кастом имя.
        if(e.getEntity().getCustomName().equals("Живой и полнон сил")) {
            //Что то делаем проверяем хп блаблабла if else и тд и тп.
            e.getEntity().setCustomName("Подыхаю");
        }
    }
 
Вот 2й варик без конфигов.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        if(e.getEntity().getCustomName().equals("Живой и полнон сил")) {
            //Что то делаем проверяем хп блаблабла if else и тд и тп.
            e.getEntity().setCustomName("Подыхаю");
        }
    }
Мне кажется вообще глупо делать это в этом ивенте, по шедуллеру легче
 
Вот 2й варик без конфигов.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        if(e.getEntity().getCustomName().equals("Живой и полнон сил")) {
            //Что то делаем проверяем хп блаблабла if else и тд и тп.
            e.getEntity().setCustomName("Подыхаю");
        }
    }
:D:good:
Мне кажется вообще глупо делать это в этом ивенте, по шедуллеру легче
А как по шедулеру?Покажи, пожалуйста.
 
Код:
public void run(){
for(Entity e : Bukkit.getWorld().getEntitiesByClass(Zombie.class)){
if (e.gethealth().equals(300)){
    Location loc = e.getLocation()
    loc.getWorld().spawnEntity(loc, EntityType.CREEPER)
}
}
}
Вот это уже точно зациклится. если перестать бить моба. И шанс того что хп останется ровно 300 не велик.
 
Код:
public void run(){
for(Entity e : Bukkit.getWorld().getEntitiesByClass(Zombie.class)){
if (e.gethealth().equals(300)){
    Location loc = e.getLocation()
    loc.getWorld().spawnEntity(loc, EntityType.CREEPER)
}
}
}
Ой лол, сейчас бы подобный функционал в шедуле выполнять. С этим быдлокодером все ясно, несите следующего.
 
Ой лол, сейчас бы подобный функционал в шедуле выполнять. С этим быдлокодером все ясно, несите следующего.
Ну да, давайте будем спаунить мобов при ударе! ЭВРИКА !!
Ой лол, сейчас бы подобный функционал в шедуле выполнять. С этим быдлокодером все ясно, несите следующего.
АЛЕ! За 2 минуты интервала выполнения, это вообще не создаст нагрузки на сервер
 
Код:
public void run(){
for(Entity e : Bukkit.getWorld().getEntitiesByClass(Zombie.class)){
if (e.gethealth().equals(300)){
    Location loc = e.getLocation()
    loc.getWorld().spawnEntity(loc, EntityType.CREEPER)
}
}
}
Я пытался...Честно, пытался.

Код:
    public void run(){
        Bukkit.getWorld(config.getString("world")).getEntitiesByClass(Zombie.class).stream()
                .filter(zombie -> zombie.getHealth()<=config.getInt("healthCount"))
                .forEach(zombie -> zombie.getWorld().spawnEntity(zombie.getLocation(), EntityType.valueOf(config.getString("spawnEntity"))));
    }
 
Назад
Верх