Skip to content
Snippets Groups Projects
Select Git revision
  • 38bcd103c9df91ccbc992df7740dd790a67471de
  • main default protected
  • feature/revoir_gestion_bdd
  • 1.6.1
  • 1.6.0
5 results

Main.java

Blame
  • Main.java 21.44 KiB
    // Contient une partie du code de ce plugin: https://github.com/Twi5TeD/PlayTime
    
    package com.slprojects.slcraftplugin;
    
    import com.slprojects.slcraftplugin.commandes.linkCodeCommand;
    import com.slprojects.slcraftplugin.commandes.wildCommand;
    import com.slprojects.slcraftplugin.tachesParalleles.waitForDiscordMsg;
    import me.clip.placeholderapi.PlaceholderAPI;
    import org.bukkit.ChatColor;
    import org.bukkit.Sound;
    import org.bukkit.Statistic;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.json.simple.JSONObject;
    import org.mariadb.jdbc.MariaDbPoolDataSource;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.time.Duration;
    import java.time.LocalDateTime;
    import java.time.ZoneOffset;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    import java.util.concurrent.TimeUnit;
    
    import static java.lang.Integer.parseInt;
    
    public final class Main extends JavaPlugin implements Listener {
        // Variables
        private List<UUID> wildCommandActiveUsers;
        private List<UUID> playTimeUsersIndexes;
        private List<LocalDateTime> playTimeUsersDate;
        private static FileConfiguration config;
    
        // Fonctions appelées à des évènements clés
        @Override
        public void onEnable() {
            // On s'assure qu'on a placeholder api
            if (getServer().getPluginManager().getPlugin("PlaceholderAPI") != null) {
                getLogger().info("PlaceholderAPI chargé");
                // On initialise les listeners
                getServer().getPluginManager().registerEvents(this, this);
            } else {
                getLogger().info(ChatColor.RED+"PlaceholderAPI n'est pas accessible!");
                getServer().getPluginManager().disablePlugin(this);
            }
    
            // Plugin startup logic
            saveDefaultConfig();
            reloadConfig();
            config = getConfig();
    
            // On initialise la base de donnée
            initDatabase();