- Баллы
- 66
- Имя в Minecraft
- just_l0fe
Хочу изменить механику дыхания так, что-бы под водой игрок мог чувствовать себя отлично, а на суше задыхаться. Саму механику я сделал так:
Создал HashMap где храняться данные сколько игрок находиться на воздухе
Каждую секунду сделал вот такой код для определенного массива игроков:
Остаётся один вопрос. Хочу сделать отображение пузырьков воды - на воздухе, и что-бы они соотвественно пропадали в зависимости от времени нахождения на воздухе. И что-бы они не показывались когда игрок находится под водой.

Создал HashMap где храняться данные сколько игрок находиться на воздухе
Код:
private final HashMap<String, Integer> airTicks;
Каждую секунду сделал вот такой код для определенного массива игроков:
Код:
@Override public void secondTick() {
for(String string : ...) {
Player target = Bukkit.getPlayer(string);
if(target != null) {
if(target.isInWaterOrBubbleColumn()) airTicks.remove(string);
else {
airTicks.putIfAbsent(string, 0);
int airTick = airTicks.get(string);
airTick++;
if(airTick >= (target.isInRain() ? 100 : 60))
target.damage(1);
airTicks.put(string, airTick);
}
}
}
}
Остаётся один вопрос. Хочу сделать отображение пузырьков воды - на воздухе, и что-бы они соотвественно пропадали в зависимости от времени нахождения на воздухе. И что-бы они не показывались когда игрок находится под водой.