1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как получить дату и время входа игрока на сервер, для записи в файл.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Zlodey_duo, 22 фев 2023.

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

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

    Баллы:
    66
    Имя в Minecraft:
    _X_ZLODEY_X_
    Всем привет, интересует такой вопрос, особо не искал подобного в интернете так что заранее всем тем кто будет писать "Загугли, гуглить не умеешь" и т.п. Спасибо <3
    Зачем гуглить и тупо копировать код, когда можно написать на этот форум и тебе здесь всё подробно объяснят)

    Как получить дату и время игрока, который вошел на сервер.
    Понятно что плюсом нужно использовать Event-ы
    Нужен именно кусочек кода который возвращает дату/время входа игрока на сервер.

    Просто хочу сделать плагин который записывает инфу о игроке, не спрашивайте зачем почему и не говорите что такой уже имеется, зачем писать то что уже есть. Пишу для себя, так скажем для ознакомления, чтобы уметь)

    Хочется что-бы после получения данных и записи в файл это выглядело примерно так:

    PlayerName:
    DataReg: 10/01/2023 - 11:00

    Или:

    PlayerName:
    Data: 10/01/2023
    Time: 11:00

    Без разницы какая запись будет в файле, поделился для понятия.
    Заранее всем спасибо кто пытается/пытался помочь <3
     
  2. Lignium

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

    Баллы:
    66
    Имя в Minecraft:
    Lignium
    У вас есть доступ к ChatGPT? По всей видимости эта популярная сегодня нейронка пишет такие хеллоуворлды на ура.
    Залил вывод на Hastebin: https://hastebin.com/share/owucenodax.java
    Я давно не писал под Bukkit, но код выглядит валидным, можете проверить, да и посмотреть как это примерно делается :cool:
     
  3. Javist

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

    Баллы:
    76
    Имя в Minecraft:
    Javis
    PHP:
     public void onPlayerJoin(PlayerJoinEvent event) {
            
    String playerName event.getPlayer().getName();
            
    Date date = new Date();
            
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
            
    SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");
            
    String formattedDate dateFormat.format(date);
            
    String formattedTime timeFormat.format(date);
            
    String joinMessage String.format("%s: Data: %s, Time: %s"playerNameformattedDateformattedTime);
     
  4. SlenderMix

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

    Баллы:
    76
    Имя в Minecraft:
    HIDDEN
    Зачем два раза создавать формат?
    PHP:
    SimpleDateFormat timeanddate = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z"); // Wed, 4 Jul 2001 12:08:56 -0700
     
  5. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Зависит от желаемого формата, просто человек показал, как можно разделить вывод на дату и время
     
  6. Javist

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

    Баллы:
    76
    Имя в Minecraft:
    Javis
    Я правильно понял, что тебе нужен плагин, который будет записывать в конфиг дату регистрации игрока?
     
  7. Javist

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

    Баллы:
    76
    Имя в Minecraft:
    Javis
    PHP:
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;

    public class 
    PlayerJoinLogger extends JavaPlugin implements Listener {

        @
    Override
        
    public void onEnable() {
            
    getServer().getPluginManager().registerEvents(thisthis);
            
    saveDefaultConfig();
        }

        @
    EventHandler
        
    public void onPlayerJoin(PlayerJoinEvent event) {
            
    String playerName event.getPlayer().getName();
            
    Date date = new Date();
            
    SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");
            
    SimpleDateFormat timeFormatter = new SimpleDateFormat("HH:mm:ss");

            
    String formattedDate dateFormatter.format(date);
            
    String formattedTime timeFormatter.format(date);

            
    FileConfiguration config getConfig();
            
    config.set("player-join-log." playerName ".date"formattedDate);
            
    config.set("player-join-log." playerName ".time"formattedTime);

            
    saveConfig();
        }
    }
     

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