- Баллы
- 76
Всем привет. У меня есть плагин на мини-больницу.
Суть такая: Игрок умирает, возрождается в больнице с 1 хп, и его хилит по +1 хп в 2 секунды.
Есть проблема, может я чего-то не понимаю... Никак не могу с ней справится.
Игрок возрождается, его хилит как надо, но примерно на середине здоровья дает по +2 хп и в самом конце дохиливает +1 хп. Я не понимаю как так выходит.
Вот метод регена хп...
P.S за говнокод не судите строго =(
Суть такая: Игрок умирает, возрождается в больнице с 1 хп, и его хилит по +1 хп в 2 секунды.
Есть проблема, может я чего-то не понимаю... Никак не могу с ней справится.
Игрок возрождается, его хилит как надо, но примерно на середине здоровья дает по +2 хп и в самом конце дохиливает +1 хп. Я не понимаю как так выходит.
Вот метод регена хп...
P.S за говнокод не судите строго =(
PHP:
public static void onRespawnRegenHealth(Player p)
new BukkitRunnable()
{
@Override
public void run()
{
if(Respawn.playerInHospital.containsKey(p.getName())
{
if(p.getHealth() >= p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getDefaultValue() && p.getHealthScale() >= p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getDefaultValue())
{
p.teleport(new Location(p.getWorld(), main.getConfig().getDouble("settings.hospitalNear.X"), main.getConfig().getDouble("settings.hospitalNear.Y"), main.getConfig().getDouble("settings.hospitalNear.Z"), main.getConfig().getInt("settings.hospitalNear.YAW"), main.getConfig().getInt("settings.hospitalNear.PITCH")));
p.setFoodLevel(20);
p.sendTitle(Utils.getColor("&6Вы вылечились"), Utils.getColor("&aТеперь у Вас ничего не болит xD"), 20, 40, 20);
Respawn.playerInHospital.remove(p.getName());
this.cancel();
return;
}
else
{
p.setHealth(p.getHealth() + 1);
p.setHealthScale(p.getHealthScale() + 1);
}
}
else
{
this.cancel();
return;
}
}
}.runTaskTimer(main, 0, 20*main.getConfig().getLong("settings.count"));
}