Я хочу сделать плагин, который считает жизни игроков. Например, у каждого игрока 3 жизни. Каждый раз, когда он умирает, он теряет 1 жизнь. Когда он достигает 0 жизней, его забанят.
Мой метод выглядит так
public class OnPlayerDeath implements Listener {
private int lives = 3;
@EventHandler
public void OnDeath(PlayerDeathEvent event){
Player player = event.getEntity().getPlayer();
if (!(player.getKiller() instanceof Player))
player.sendMessage("Died by a something else. You have " + lives + " lives left.");
else {
player.sendMessage("Died by a human. You have " + lives + " lives left.");
lives--;
}
}
}
Проблема в том, что всякий раз, когда игрок умирает, в сообщении все время отображается одна и та же переменная «3». Как это исправить?
new OnPlayerDeath()
каждый раз, когда вызываетсяOnDeath()
? вы также уменьшаетеlives
только в блокеelse
, это нарочно? В любом случае, я думаю, чтоlives
должен быть частьюPlayer
, а не в другом классе, который, вероятно, не должен быть классом в любом случае. - person Guy   schedule 03.12.2019