- Баллы
- 143
- Имя в Minecraft
- Leymooo
Там вроде все норм.в код вчитайся. поймешь
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Там вроде все норм.в код вчитайся. поймешь
АЛЕ! Это не CreatureSpawnEntity! Дамага то не нанесет, ивент не вызоветсяв код вчитайся
.... а теперь я включу килл ауру... ииииии...АЛЕ! Это не CreatureSpawnEntity! Дамага то не нанесет, ивент не вызовется
Сразу бы так... Можно лимит на игрока сделать.... а теперь я включу килл ауру... ииииии...
p.s: не так выразился.

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

Ахаха, представь что по мобу бьют хотя-бы тысячу раз в секундуЯ всё ещё не понимаю, почему сервер должен зацикливаться.Ну да, там есть проверка на каждый удар по мобу, да, это не совсем экономно, но всё же, почему сервер должен зацикливаться?

Так он вымрет. Если только дамаг у игрока будет 0.Пфф полюбому, клиенты пишем.. А тут BukkitAPI не понимаем
Ахаха, представь что по мобу бьют хотя-бы тысячу раз в секунду![]()
И что?Да, это ресурсозатратно, но это не проблема кода, это проблема того кто его использует.А код делает ровно то, что хотел автор темы.Я не буду писать защиту от идиотов.Это ровне то же, что и ограничить половину функционала, например, WE, ибо половиной его команд можно положить сервер(set,fixwater,drain etc.)Обвинять в это автора, как минимум, глупо.В качестве модернизации можно ограничить область действия слушателя только на игрока, хоть это и не сильно сократит ресурсозатраты, но иначе я не понимаю, зачем это вообще нужно.Вот:Ахаха, представь что по мобу бьют хотя-бы тысячу раз в секунду![]()
Код удалён, есть реализации получше.
почему бы просто сразу этот эвент не использовать?if(event instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) event).getDamager() instanceof Player) {
Да не, не вкатывает вроде..Так он вымрет. Если только дамаг у игрока будет 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), а потом сузил выборку до того, что слушатель обрабатывает ивент только в том случае, если атакующий - игрок(тем самым исключив урон от блоков и всех сущностей, кроме игрока).
О какой работе идёт речь?Тогда уж, IcedwinterZ, жду реализации получше от тебя.А разве мы не должны делать свою работу качественно?
Говнокодер номер одинИ что?Да, это ресурсозатратно, но это не проблема кода, это проблема того кто его использует.А код делает ровно то, что хотел автор темы.Я не буду писать защиту от идиотов.Это ровне то же, что и ограничить половину функционала, например, 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"))); } }
Сяпки - поржал.Помоему можно это сделать более компактнее
Конечно, можно и так сделатьГовнокодер номер одинСяпки - поржал.
@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, жду реализации получше от тебя.
@EventHandler
public void on(EntityDamageByEntityEvent e) {
UUID uuid = e.getEntity().getUniqueId();
if(mob.get(uuid)!=null) {
//Что то делаем
mob.remove(uuid);
}
}