Guest User

Untitled

a guest
Oct 19th, 2016
873
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. package net.gravenilvec.Coins;
  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.gravenilvec.Coins.commands.CmdBan;
  21. import net.gravenilvec.Coins.commands.CmdCoins;
  22. import net.gravenilvec.cache.BanPlayerData;
  23. import net.gravenilvec.cache.PlayerData;
  24. import net.gravenilvec.cache.PlayerDataManager;
  25. import net.gravenilvec.grades.Rank;
  26.  
  27. public class Coins extends JavaPlugin implements Listener{
  28.  
  29. public SqlConnection sql;
  30. public PlayerDataManager dataManager = new PlayerDataManager(this);
  31. public Map<Player, PlayerData> dataPlayers = new HashMap<>();
  32. public Map<UUID, BanPlayerData> bannis = new HashMap<>();
  33.  
  34. public void onEnable(){
  35. sql = new SqlConnection(this, "jdbc:mysql://","localhost","servermc","root","");
  36. sql.connection();
  37. getServer().getPluginManager().registerEvents(this, this);
  38. getCommand("money").setExecutor(new CmdCoins(sql));
  39. getCommand("bandef").setExecutor(new CmdBan(this));
  40. getCommand("unban").setExecutor(new CmdBan(this));
  41. loadBannedPlayers();
  42. }
  43.  
  44. private void loadBannedPlayers() {
  45.  
  46. try {
  47. PreparedStatement q = sql.getConnection().prepareStatement("SELECT uuid, reason, expiredate FROM bannis WHERE CURDATE() < expiredate");
  48.  
  49. ResultSet resultat = q.executeQuery();
  50.  
  51. while(resultat.next()){
  52.  
  53. UUID uuid = UUID.fromString(resultat.getString("uuid"));
  54. String reason = resultat.getString("reason");
  55.  
  56. BanPlayerData ban = new BanPlayerData();
  57. ban.setReason(reason);
  58. ban.setUuid(uuid);
  59.  
  60. bannis.put(uuid, ban);
  61.  
  62. }
  63.  
  64. q.execute();
  65. q.close();
  66. } catch (SQLException e) {
  67. e.printStackTrace();
  68. }
  69.  
  70. System.out.println(bannis.size() + " joueurs ont été bannis sur le serveur !");
  71.  
  72. }
  73.  
  74. public void onDisable(){
  75. sql.disconnect();
  76. }
  77.  
  78. @EventHandler
  79. public void prejoin(AsyncPlayerPreLoginEvent e){
  80. UUID uuid = e.getUniqueId();
  81. if(bannis.containsKey(uuid)){
  82. //le joueur qui essaye de se co est ban !
  83. BanPlayerData ban = bannis.get(uuid);
  84. String reason = ban.getReason();
  85. e.setKickMessage("Vous avez été ban pour " +reason);
  86. e.setLoginResult(Result.KICK_BANNED);
  87. }
  88. }
  89.  
  90. @EventHandler
  91. public void join(PlayerJoinEvent e){
  92. Player p = e.getPlayer();
  93. sql.createAccount(p);
  94. dataManager.loadPlayerData(p);
  95. }
  96.  
  97. @EventHandler
  98. public void quit(PlayerQuitEvent e){
  99. Player p = e.getPlayer();
  100. dataManager.savePlayerData(p);
  101. }
  102.  
  103. @EventHandler
  104. public void chat(AsyncPlayerChatEvent e){
  105. Player p = e.getPlayer();
  106. Rank rank = sql.getRank(p);
  107. e.setFormat(rank.getName() + " " + p.getName() + " : " + rank.getTag() + e.getMessage());
  108. }
  109.  
  110.  
  111.  
  112. }
Add Comment
Please, Sign In to add comment