Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.oasya.API;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.UUID;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
- import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import net.oasya.API.Cache.BanPlayerData;
- import net.oasya.API.Cache.PlayerData;
- import net.oasya.API.Cache.PlayerDataManager;
- import net.oasya.API.Coins.Coins;
- import net.oasya.API.Commands.CmdBan;
- import net.oasya.API.Commands.CmdCoins;
- import net.oasya.API.Commands.CmdRank;
- import net.oasya.API.Rank.Rank;
- import net.oasya.API.Rank.RankEnum;
- import net.oasya.API.SQL.SqlConnection;
- public class Main extends JavaPlugin implements Listener {
- public SqlConnection sql;
- public Account account;
- public Rank rank;
- public Coins coins;
- public PlayerDataManager dataManager = new PlayerDataManager(this);
- public Map<Player, PlayerData> dataPlayers = new HashMap<>();
- public Map<UUID, BanPlayerData> banned = new HashMap<>();
- public CmdBan cmdBan = new CmdBan(this);
- public CmdCoins cmdCoins = new CmdCoins(coins);
- public void onEnable() {
- sql = new SqlConnection(this, "jdbc:mysql://","localhost","oasya","root","NOP");
- sql.connection();
- getServer().getPluginManager().registerEvents(this, this);
- getCommand("banperm").setExecutor(cmdBan);
- getCommand("bantemp").setExecutor(cmdBan);
- getCommand("unban").setExecutor(cmdBan);
- getCommand("rank").setExecutor(new CmdRank(this));
- getCommand("coins").setExecutor(cmdCoins);
- loadBannedPlayers();
- }
- private void loadBannedPlayers() {
- try {
- PreparedStatement q = sql.getConnection().prepareStatement("SELECT uuid, reason, expirationdate FROM banned WHERE CURDATE() < expirationdate");
- ResultSet resultat = q.executeQuery();
- while(resultat.next()){
- UUID uuid = UUID.fromString(resultat.getString("uuid"));
- String reason = resultat.getString("reason");
- BanPlayerData ban = new BanPlayerData();
- ban.setReason(reason);
- ban.setUuid(uuid);
- banned.put(uuid, ban);
- }
- q.execute();
- q.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- System.out.println(banned.size() + " joueurs ont été banned sur le serveur !");
- }
- public void onDisable() {
- sql.disconnect();
- }
- @EventHandler
- public void prejoin(AsyncPlayerPreLoginEvent e){
- UUID uuid = e.getUniqueId();
- if(banned.containsKey(uuid)){
- BanPlayerData ban = banned.get(uuid);
- String reason = ban.getReason();
- e.setKickMessage("Vous avez été ban pour " +reason);
- e.setLoginResult(Result.KICK_BANNED);
- }
- }
- @EventHandler
- public void join(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- account.createAccount(p);
- dataManager.loadPlayerData(p);
- }
- @EventHandler
- public void quit(PlayerQuitEvent e) {
- Player p = e.getPlayer();
- dataManager.savePlayerData(p);
- }
- @EventHandler
- public void chatFormat(AsyncPlayerChatEvent e) {
- Player p = e.getPlayer();
- RankEnum rankEnum = rank.getRank(p);
- e.setFormat(rankEnum.getName() + " " + p.getName() + ": " + rankEnum.getTag() + e.getMessage());
- }
- }
Add Comment
Please, Sign In to add comment