Alexousd

DEV' PLUGIN MODERATION #09 - Main

May 8th, 2018
427
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.60 KB | None | 0 0
  1. package fr.itsalexousd.moderation;
  2.  
  3. import fr.itsalexousd.moderation.commands.Commands;
  4. import fr.itsalexousd.moderation.database.MySQL;
  5. import fr.itsalexousd.moderation.listeners.*;
  6. import fr.itsalexousd.moderation.managers.PlayerManager;
  7. import org.apache.commons.dbcp2.BasicDataSource;
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.Location;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.plugin.PluginManager;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. import java.util.*;
  15.  
  16. public class Main extends JavaPlugin {
  17.     private static Main instance;
  18.  
  19.     private BasicDataSource connectionPool;
  20.     private MySQL mysql;
  21.  
  22.     private List<UUID> moderateurs;
  23.     private Map<UUID, PlayerManager> players;
  24.     private Map<UUID, Location> frozenPlayers;
  25.  
  26.     @Override
  27.     public void onEnable() {
  28.         setup();
  29.     }
  30.  
  31.     public static Main getInstance() {
  32.         return instance;
  33.     }
  34.  
  35.     public MySQL getMySQL() {
  36.         return mysql;
  37.     }
  38.  
  39.     private void setup(){
  40.         instance = this;
  41.         registerEvents();
  42.         registerCommands();
  43.         moderateurs = new ArrayList<>();
  44.         players = new HashMap<>();
  45.         frozenPlayers = new HashMap<>();
  46.         initConnection();
  47.     }
  48.  
  49.     private void initConnection(){
  50.         connectionPool = new BasicDataSource();
  51.         connectionPool.setDriverClassName("com.mysql.jdbc.Driver");
  52.         connectionPool.setUsername("root");
  53.         connectionPool.setPassword("");
  54.         connectionPool.setUrl("jdbc:mysql://localhost:3306/moderation?autoReconnect=true");
  55.         connectionPool.setInitialSize(1);
  56.         connectionPool.setMaxTotal(10);
  57.         mysql = new MySQL(connectionPool);
  58.         mysql.createTables();
  59.     }
  60.  
  61.     private void registerEvents(){
  62.         PluginManager pm = Bukkit.getPluginManager();
  63.         pm.registerEvents(new ReportEvents(), this);
  64.         pm.registerEvents(new ModCancels(), this);
  65.         pm.registerEvents(new ModItemsInteract(), this);
  66.         pm.registerEvents(new PlayerChat(), this);
  67.         pm.registerEvents(new PlayerQuit(), this);
  68.     }
  69.  
  70.     private void registerCommands(){
  71.         getCommand("mod").setExecutor(new Commands());
  72.         getCommand("report").setExecutor(new Commands());
  73.     }
  74.  
  75.     public List<UUID> getModerateurs() {
  76.         return moderateurs;
  77.     }
  78.  
  79.     public Map<UUID, PlayerManager> getPlayers() {
  80.         return players;
  81.     }
  82.  
  83.     public Map<UUID, Location> getFrozenPlayers() {
  84.         return frozenPlayers;
  85.     }
  86.  
  87.     public boolean isFreeze(Player player){
  88.         return getFrozenPlayers().containsKey(player.getUniqueId());
  89.     }
  90. }
Add Comment
Please, Sign In to add comment