- Баллы
- 173
Есть плагин, который превращает уровень опыта игрока в уровень жажды. Изначально у игрока 20-й уровень. Затем каждую минуту уровень становится на единицу меньше.
Сразу же при достижении нулевого уровня у игрока должно быстро уменьшаться здоровье (2/20 сердца в секунду). Мгновенная смерть тут не подходит, игроку нужно дать время попить. Одним из примеров такой медленной смерти является удушье под водой (когда заканчивается "воздух в лёгких").
Уменьшение уровня каждую минуту:
Сразу же при достижении нулевого уровня у игрока должно быстро уменьшаться здоровье (2/20 сердца в секунду). Мгновенная смерть тут не подходит, игроку нужно дать время попить. Одним из примеров такой медленной смерти является удушье под водой (когда заканчивается "воздух в лёгких").
Уменьшение уровня каждую минуту:
Код:
getServer().getScheduler().runTaskTimer(this, new ThirstTask(this), 1L, getConfig().getLong("player.water-decay-delay"));
Код:
getServer().getScheduler().runTaskTimer(this, new ThirstTask(this), 1L, getConfig().getLong("player.water-decay-delay"));
Код:
@Override
public void run() {
for (Player p : Bukkit.getOnlinePlayers()) {
if (p.getGameMode() != GameMode.CREATIVE && omz.isSpawned(p.getLocation())) {
int lvl = p.getLevel();
if (lvl > 1) {
p.setLevel(lvl - 1);
PlayerThirstChangeEvent ptce = new PlayerThirstChangeEvent(p, lvl + 1, lvl);
plugin.getServer().getPluginManager().callEvent(ptce);
} else {
p.setLevel(0);
p.damage(2);
PlayerThirstChangeEvent ptce = new PlayerThirstChangeEvent(p, lvl, lvl);
plugin.getServer().getPluginManager().callEvent(ptce);
}
}
}
}
