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

  • Автор темы Автор темы _Rudey_
  • Дата начала Дата начала
Даже её сила не способна исправить твой код.:D
Что в нем такого?
Даже её сила не способна исправить твой код.:D
Ахах, раз в 2-е минуты проверять мобов в мире с опр. хп, боооже какая нагрузка, наверное дедик на Celeron-e :D
 
Что в нем такого?

Ахах, раз в 2-е минуты проверять мобов в мире с опр. хп, боооже какая нагрузка, наверное дедик на Celeron-e :D
Сейчас бы раз в две минуты моба проверять, когда по ТЗ нам надо при нужном хп у моба которого бьем спавнить "миньонов".
 
Сейчас бы раз в две минуты моба проверять, когда по ТЗ нам надо при нужном хп у моба которого бьем спавнить "миньонов".
Пфф, сейчас бы ТЗ читать :D Я просто предложил альтернативу
 
Что в нем такого?

Ахах, раз в 2-е минуты проверять мобов в мире с опр. хп, боооже какая нагрузка, наверное дедик на Celeron-e :D
Убил ты такой моба, а где миньоны?А через 2 минуты будут.Или не будут.
 
Слишком много кастомизации не бывает, добавил поддержку миров из конфига:

Код:
    @EventHandler
    public void onEntityEvent(EntityDamageByEntityEvent event) {
        if(event.getDamager() instanceof Player && config.getList("worlds").contains(event.getDamager().getWorld())) {
            LivingEntity entity = (LivingEntity) event.getEntity();
            if(config.getList("entities").contains(event.getEntity().getType().toString()) && entity.getHealth() < config.getInt("healthCount"))
                entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
        }
    }
 
Слишком много кастомизации не бывает, добавил поддержку миров из конфига:

Код:
    @EventHandler
    public void onEntityEvent(EntityDamageByEntityEvent event) {
        if(event.getDamager() instanceof Player && config.getList("worlds").contains(event.getDamager().getWorld())) {
            LivingEntity entity = (LivingEntity) event.getEntity();
            if(config.getList("entities").contains(event.getEntity().getType().toString()) && entity.getHealth() < config.getInt("healthCount"))
                entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
        }
    }
Каша
 
Слишком много кастомизации не бывает, добавил поддержку миров из конфига:

Код:
    @EventHandler
    public void onEntityEvent(EntityDamageByEntityEvent event) {
        if(event.getDamager() instanceof Player && config.getList("worlds").contains(event.getDamager().getWorld())) {
            LivingEntity entity = (LivingEntity) event.getEntity();
            if(config.getList("entities").contains(event.getEntity().getType().toString()) && entity.getHealth() < config.getInt("healthCount"))
                entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
        }
    }
Но главную проблему ты не решил.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        Entity mob = e.getEntity();
        if(mob.getCustomName()==null) return;
        if(mob.getCustomName().equals("Живой и полнон сил")) {
            LivingEntity en = (LivingEntity) mob;
            if(en.getHealth()<300) {
                mob.setCustomName("Подыхаю");
                mob.getWorld().spawnEntity(mob.getLocation(), EntityType.ZOMBIE);
            }
        }
    }
 
Последнее редактирование:
Но главную проблему ты не решил.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        Entity mob = e.getEntity();
        if(mob.getCustomName().equals("Живой и полнон сил")) {
            LivingEntity en = (LivingEntity) mob;
            if(en.getHealth()<300) {
                mob.setCustomName("Подыхаю");
                mob.getWorld().spawnEntity(mob.getLocation(), EntityType.ZOMBIE);
            }
        }
    }
Вот хороше решение
Я этой строки не понимаю.
Сравниваем имя моба с заданным в Equals
 
Это, конечно, понятно.Но где мы это кастомное имя задаем?Почему это лучше EntityType?Не понимаю.
При спавне босса конечно же.
Каким образом?Имеешь в виду то, что у нескольких мобов один customName?
Не обязательно, можно по части из его имени.
Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        Entity mob = e.getEntity();
        if(mob.getCustomName()==null) return;
        if(mob.getCustomName().contains("Живой и полон сил")) {
            LivingEntity en = (LivingEntity) mob;
            if(en.getHealth()<300) {
                mob.setCustomName(mob.getCustomName().replace("Живой и полон сил", "Подыхаю"));
                mob.getWorld().spawnEntity(mob.getLocation(), EntityType.ZOMBIE);
            }
        }
    }
 
При спавне босса конечно же.
Какого босса?Тут ещё используется какой-то ивент?


Не обязательно, можно по части из его имени.
Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        Entity mob = e.getEntity();
        if(mob.getCustomName()==null) return;
        if(mob.getCustomName().contains("Живой и полон сил")) {
            LivingEntity en = (LivingEntity) mob;
            if(en.getHealth()<300) {
                mob.setCustomName(mob.getCustomName().replace("Живой и полон сил", "Подыхаю"));
                mob.getWorld().spawnEntity(mob.getLocation(), EntityType.ZOMBIE);
            }
        }
    }
Ты вызываешь метод getCustomName() на mob, а у класса Entity даже нет такого метода, или я что-то упустил?
Зачем нужны дополнительные проверки и, тем более, записи в виде mob.setCustomName?
Более того, код не работает, я только что проверил.
А какая у тебя версия?
 
Какого босса?Тут ещё используется какой-то ивент?

Ты вызываешь метод getCustomName() на mob, а у класса Entity даже нет такого метода, или я что-то упустил?
Зачем нужны дополнительные проверки и, тем более, записи в виде mob.setCustomName?
Более того, код не работает, я только что проверил.
А какая у тебя версия?
У LivingEntity есть.
 
Устанавливает имя
Спасибо.Я сам бы не додумался.
Но главную проблему ты не решил.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        Entity mob = e.getEntity();
        if(mob.getCustomName()==null) return;
        if(mob.getCustomName().equals("Живой и полнон сил")) {
            LivingEntity en = (LivingEntity) mob;
            if(en.getHealth()<300) {
                mob.setCustomName("Подыхаю");
                mob.getWorld().spawnEntity(mob.getLocation(), EntityType.ZOMBIE);
            }
        }
    }
Но всё же, что за главная проблема?
 
Назад
Верх