Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Как узнать сколько времени игрок играл на сервере?

Тема в разделе "Разработка плагинов для новичков", создана пользователем Ryazha_, 31 дек 2021.

  1. Автор темы
    Ryazha_

    Ryazha_ Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Ryazha_
    Я хочу сделать систему наград за игру на серваке. Желательно пример кода.
     
  2. Хостинг MineCraft
    <
  3. veyn12

    veyn12 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Veynique
    YouTube - Statistic bukkit coding
     
  4. LilClick

    LilClick Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    LilClick
    private static HashMap<String, Integer> timeInMin = new HashMap()<>;

    public static int getPlayerPlayTime(Player player){
    return timeInMin.get(player.getName());
    }

    public static void setPlayerPlayTime(Player player, int time) {
    timeInMin.put(player.getName(), getPlayerPlayTime + time);
    }

    В Классе Main в onEnable(){
    // class = название вашего класса, если все в одном, просто обращаетесь к методу

    Bukkit.getScheduler().runTaskTimer(this, ()->{
    (Player onlinePlayer : Bukkit.getOnlinePlayers())
    class.setPlayerPlayTime(onlinePlayer, 1) // 1 минута

    // Теперь можно использовать свой метод где угодно

    if(class.getPlayerPlayTime(player) == 30) { //Если он играет 30 минут
    player.getInventory().additem(new ItemStack(Material.DIAMOND);
    }
    },20*60,20*60);


    }
     

Поделиться этой страницей