Select Git revision
Main.java 11.40 KiB
package com.slprojects.slcraftplugin;
import com.slprojects.slcraftplugin.commandes.linkCodeCommand;
import com.slprojects.slcraftplugin.commandes.wildCommand;
import com.slprojects.slcraftplugin.tachesParalleles.savePlayerData;
import com.slprojects.slcraftplugin.tachesParalleles.internalWebServer;
import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.ChatColor;
import org.bukkit.Sound;
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.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
public final class Main extends JavaPlugin implements Listener {
// Variables
private List<UUID> wildCommandActiveUsers;
private static FileConfiguration config;
private com.slprojects.slcraftplugin.tachesParalleles.savePlayerData savePlayerData;
// 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) {
getServer().getConsoleSender().sendMessage("PlaceholderAPI chargé");
// On initialise les listeners
getServer().getPluginManager().registerEvents(this, this);
} else {
getServer().getConsoleSender().sendMessage(ChatColor.RED+"PlaceholderAPI n'est pas accessible!");
getServer().getPluginManager().disablePlugin(this);
}
// Plugin startup logic
saveDefaultConfig();
reloadConfig();
config = getConfig();
updateConfig();
savePlayerData = new savePlayerData(this);
// On initialise la base de donnée
initDatabase();
wildCommandActiveUsers = new ArrayList<>();
wildCommand wildCommand = new wildCommand(this);
Objects.requireNonNull(getCommand("wild")).setExecutor(wildCommand);
linkCodeCommand linkCodeCommand = new linkCodeCommand(this);