Guest User

Untitled

a guest
Feb 6th, 2017
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. package net.oasya.API;
  2.  
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import java.util.UUID;
  9.  
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.AsyncPlayerChatEvent;
  14. import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
  15. import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result;
  16. import org.bukkit.event.player.PlayerJoinEvent;
  17. import org.bukkit.event.player.PlayerQuitEvent;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. import net.oasya.API.Cache.BanPlayerData;
  21. import net.oasya.API.Cache.PlayerData;
  22. import net.oasya.API.Cache.PlayerDataManager;
  23. import net.oasya.API.Coins.Coins;
  24. import net.oasya.API.Commands.CmdBan;
  25. import net.oasya.API.Commands.CmdCoins;
  26. import net.oasya.API.Commands.CmdRank;
  27. import net.oasya.API.Rank.Rank;
  28. import net.oasya.API.Rank.RankEnum;
  29. import net.oasya.API.SQL.SqlConnection;
  30.  
  31. public class Main extends JavaPlugin implements Listener {
  32.  
  33. public SqlConnection sql;
  34. public Account account;
  35. public Rank rank;
  36. public Coins coins;
  37. public PlayerDataManager dataManager = new PlayerDataManager(this);
  38. public Map<Player, PlayerData> dataPlayers = new HashMap<>();
  39. public Map<UUID, BanPlayerData> banned = new HashMap<>();
  40.  
  41. public CmdBan cmdBan = new CmdBan(this);
  42. public CmdCoins cmdCoins = new CmdCoins(coins);
  43.  
  44. public void onEnable() {
  45. sql = new SqlConnection(this, "jdbc:mysql://","localhost","oasya","root","NOP");
  46. sql.connection();
  47. getServer().getPluginManager().registerEvents(this, this);
  48. getCommand("banperm").setExecutor(cmdBan);
  49. getCommand("bantemp").setExecutor(cmdBan);
  50. getCommand("unban").setExecutor(cmdBan);
  51. getCommand("rank").setExecutor(new CmdRank(this));
  52. getCommand("coins").setExecutor(cmdCoins);
  53. loadBannedPlayers();
  54. }
  55.  
  56. private void loadBannedPlayers() {
  57.  
  58. try {
  59. PreparedStatement q = sql.getConnection().prepareStatement("SELECT uuid, reason, expirationdate FROM banned WHERE CURDATE() < expirationdate");
  60.  
  61. ResultSet resultat = q.executeQuery();
  62.  
  63. while(resultat.next()){
  64. UUID uuid = UUID.fromString(resultat.getString("uuid"));
  65. String reason = resultat.getString("reason");
  66.  
  67. BanPlayerData ban = new BanPlayerData();
  68. ban.setReason(reason);
  69. ban.setUuid(uuid);
  70.  
  71. banned.put(uuid, ban);
  72. }
  73.  
  74. q.execute();
  75. q.close();
  76. } catch (SQLException e) {
  77. e.printStackTrace();
  78. }
  79.  
  80. System.out.println(banned.size() + " joueurs ont été banned sur le serveur !");
  81. }
  82.  
  83. public void onDisable() {
  84. sql.disconnect();
  85. }
  86.  
  87. @EventHandler
  88. public void prejoin(AsyncPlayerPreLoginEvent e){
  89. UUID uuid = e.getUniqueId();
  90. if(banned.containsKey(uuid)){
  91. BanPlayerData ban = banned.get(uuid);
  92. String reason = ban.getReason();
  93. e.setKickMessage("Vous avez été ban pour " +reason);
  94. e.setLoginResult(Result.KICK_BANNED);
  95. }
  96. }
  97.  
  98. @EventHandler
  99. public void join(PlayerJoinEvent e) {
  100. Player p = e.getPlayer();
  101.  
  102. account.createAccount(p);
  103. dataManager.loadPlayerData(p);
  104. }
  105.  
  106. @EventHandler
  107. public void quit(PlayerQuitEvent e) {
  108. Player p = e.getPlayer();
  109.  
  110. dataManager.savePlayerData(p);
  111. }
  112.  
  113. @EventHandler
  114. public void chatFormat(AsyncPlayerChatEvent e) {
  115. Player p = e.getPlayer();
  116. RankEnum rankEnum = rank.getRank(p);
  117.  
  118. e.setFormat(rankEnum.getName() + " " + p.getName() + ": " + rankEnum.getTag() + e.getMessage());
  119. }
  120. }
Add Comment
Please, Sign In to add comment