Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите разобраться в java

Nkita ivasenko Ученик (184), на голосовании 1 месяц назад
Создаю свой сервер в Майнкрафт и возникла проблема:
при создании таб листа столкнулся с проблемой захотелось вывести колличество игроков в формате
"Онлайн <число> игроков"
И вот проблема как раз в суффиксе
Условно пишет при любом онлайне слово "Игроков"
Хочется сделать чтобы было:
1 - Игрок
2-4 - ИгрокА
5-∞ - ИгрокОВ
Как это можно реализовать?
Голосование за лучший ответ
Николай Андреев Гуру (4259) 2 месяца назад
1 момент. Java vs JS это разные вещи. А помочь, увы, не могу, т.к. сам пока плохо в нём разбираюсь.
AmiresМыслитель (5957) 2 месяца назад
а где он сказал джаваскрипт?
AmiresМыслитель (5957) 2 месяца назад
Minecraft работает на Java
Николай Андреев Гуру (4259) Amires, значит это ответы ступили и написали java в титле вопроса.
Amires Мыслитель (5957) 2 месяца назад
Bukkit или Spigot
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;

public class PlayerCountPlugin extends JavaPlugin {

@Override
public void onEnable() {
new BukkitRunnable() {
@Override
public void run() {
int playerCount = Bukkit.getOnlinePlayers().size();
String playerWord = getCorrectPlayerWord(playerCount);
String message = "Онлайн " + playerCount + " " + playerWord;

// Здесь ты можешь вывести информацию в таб лист или куда угодно
Bukkit.getServer().getConsoleSender().sendMessage(message);
}
}.runTaskTimer(this, 0L, 100L); // Обновление раз в 5 секунд
}

private String getCorrectPlayerWord(int count) {
if (count == 1) {
return "Игрок";
} else if (count >= 2 && count <= 4) {
return "Игрока";
} else {
return "Игроков";
}
}
}
Кирилл ГерасименкоЗнаток (420) 2 месяца назад
А что если обновить текущий онлайн хендлом на выход и заход игрока, если такие имеются?
Максим Мищенко Мудрец (11140) 2 месяца назад
в методе, который выводит текст делаешь конструкцию:
(псевдо-условный код)
while {player_counter} == 0; do print("Общий онлайн: 0 игроков");
else if {player_counter} == 1; do print("Общий онлайн: 1 игрок");
else if {player_counter} >= 2 and <=4; do print("Общий онлайн: {player_counter} игрока");
else if {player_counter} >= 5; do print("Общий онлайн: {player_counter} игроков");
Похожие вопросы