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

  • Автор темы Автор темы _Rudey_
  • Дата начала Дата начала
.... а теперь я включу килл ауру... ииииии...
p.s: не так выразился.
Я всё ещё не понимаю, почему сервер должен зацикливаться.Ну да, там есть проверка на каждый удар по мобу, да, это не совсем экономно, но всё же, почему сервер должен зацикливаться?
 
а потом сервер зациклится... ну - ну.. удачи.
Нормальный код. Его спросили, он расписал все. Разве что немного не оптимизировано, но это уже на совести того кто этот код будет использовать. И все правится.
А вот про "Зациклится" - полный бред.
 
Ничего там не зацыклиться, просто будет спавнить при каждом дамаге, пока условие подходит.
Да они тут бред какой-то пишут. Зациклится у них там что-то должно.
Они походу даже код не понимают, а лезут со своими "зациклится, код почитай"
 
Да они тут бред какой-то пишут. Зациклится у них там что-то должно.
Они походу даже код не понимают, а лезут со своими "зациклится, код почитай"
Пфф полюбому, клиенты пишем.. А тут BukkitAPI не понимаем :D
Я всё ещё не понимаю, почему сервер должен зацикливаться.Ну да, там есть проверка на каждый удар по мобу, да, это не совсем экономно, но всё же, почему сервер должен зацикливаться?
Ахаха, представь что по мобу бьют хотя-бы тысячу раз в секунду :D
 
Пфф полюбому, клиенты пишем.. А тут BukkitAPI не понимаем :D

Ахаха, представь что по мобу бьют хотя-бы тысячу раз в секунду :D
Так он вымрет. Если только дамаг у игрока будет 0.
И потом античит тебе писды вкатит за такое.
 
Ахаха, представь что по мобу бьют хотя-бы тысячу раз в секунду :D
И что?Да, это ресурсозатратно, но это не проблема кода, это проблема того кто его использует.А код делает ровно то, что хотел автор темы.Я не буду писать защиту от идиотов.Это ровне то же, что и ограничить половину функционала, например, WE, ибо половиной его команд можно положить сервер(set,fixwater,drain etc.)Обвинять в это автора, как минимум, глупо.В качестве модернизации можно ограничить область действия слушателя только на игрока, хоть это и не сильно сократит ресурсозатраты, но иначе я не понимаю, зачем это вообще нужно.Вот:
Код:
  Код удалён, есть реализации получше.
 
Последнее редактирование:
Так он вымрет. Если только дамаг у игрока будет 0.
И потом античит тебе писды вкатит за такое.
Да не, не вкатывает вроде..
И что?Да, это ресурсозатратно, но это не проблема кода, это проблема того кто его использует.А код делает ровно то, что хотел автор темы.Я не буду писать защиту от идиотов.Это ровне то же, что и ограничить половину функционала, например, WE, ибо половиной его команд можно положить сервер(set,fixwater,drain etc.)Обвинять в это автора, как минимум, глупо.В качестве модернизации можно ограничить область действия слушателя только на игрока, хоть это и не сильно сократит ресурсозатраты, но иначе я не понимаю, зачем это вообще нужно.Вот:
Код:
    @EventHandler
    public void onEntityEvent(EntityDamageEvent event) {
        if(event instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) event).getDamager() instanceof Player) {
            EntityDamageByEntityEvent byEntityEvent = (EntityDamageByEntityEvent) event;
            EntityType currentEntityType = byEntityEvent.getEntity().getType();
            LivingEntity entity = (LivingEntity) byEntityEvent.getEntity();
            if(config.getList("entities").contains(currentEntityType.toString()) && entity.getHealth() < config.getInt("healthCount"))
                entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
        }
    }
А разве мы не должны делать свою работу качественно?
 
почему бы просто сразу этот эвент не использовать?
Потому что существует возможность получения урона не от сущности, а от блока.Во втором варианте я как раз исключил получение урона от блока(используя EntityDamageByEntityEvent), а потом сузил выборку до того, что слушатель обрабатывает ивент только в том случае, если атакующий - игрок(тем самым исключив урон от блоков и всех сущностей, кроме игрока).
 
Потому что существует возможность получения урона не от сущности, а от блока.Во втором варианте я как раз исключил получение урона от блока(используя EntityDamageByEntityEvent), а потом сузил выборку до того, что слушатель обрабатывает ивент только в том случае, если атакующий - игрок(тем самым исключив урон от блоков и всех сущностей, кроме игрока).
Помоему можно это сделать более компактнее
 
И что?Да, это ресурсозатратно, но это не проблема кода, это проблема того кто его использует.А код делает ровно то, что хотел автор темы.Я не буду писать защиту от идиотов.Это ровне то же, что и ограничить половину функционала, например, WE, ибо половиной его команд можно положить сервер(set,fixwater,drain etc.)Обвинять в это автора, как минимум, глупо.В качестве модернизации можно ограничить область действия слушателя только на игрока, хоть это и не сильно сократит ресурсозатраты, но иначе я не понимаю, зачем это вообще нужно.Вот:
Код:
    @EventHandler
    public void onEntityEvent(EntityDamageEvent event) {
        if(event instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) event).getDamager() instanceof Player) {
            EntityDamageByEntityEvent byEntityEvent = (EntityDamageByEntityEvent) event;
            EntityType currentEntityType = byEntityEvent.getEntity().getType();
            LivingEntity entity = (LivingEntity) byEntityEvent.getEntity();
            if(config.getList("entities").contains(currentEntityType.toString()) && entity.getHealth() < config.getInt("healthCount"))
                entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
        }
    }
Говнокодер номер один :D Сяпки - поржал.
 
Помоему можно это сделать более компактнее
Говнокодер номер один :D Сяпки - поржал.
Конечно, можно и так сделать
Код:
    @EventHandler
    public void onEntityEvent(EntityDamageByEntityEvent event) {
        if(event.getDamager() instanceof Player) {
            EntityType currentEntityType = event.getEntity().getType();
            LivingEntity entity = (LivingEntity) event.getEntity();
            if(config.getList("entities").contains(currentEntityType.toString()) && entity.getHealth() < config.getInt("healthCount"))
                entity.getWorld().spawnEntity(entity.getLocation(), EntityType.valueOf(config.getString("spawnEntity")));
        }
    }
 
О какой работе идёт речь?Тогда уж, IcedwinterZ, жду реализации получше от тебя.
Жуй.

Java:
    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        UUID uuid = e.getEntity().getUniqueId();
        if(mob.get(uuid)!=null) {
            //Что то делаем
            mob.remove(uuid);
        }
    }
Пруфит!
 
Назад
Верх