Advertisement
Guest User

asdfasd

a guest
Jul 26th, 2014
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.81 KB | None | 0 0
  1. package in.mDev.MiracleM4n.ObsidianVote;
  2.  
  3. import java.sql.Connection;
  4. import java.util.ArrayList;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.logging.Logger;
  8.  
  9. import lib.PatPeter.SQLibrary.MySQL;
  10.  
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.plugin.PluginDescriptionFile;
  13. import org.bukkit.plugin.PluginManager;
  14. import org.bukkit.plugin.java.JavaPlugin;
  15.  
  16. import com.miraclem4n.mchat.api.API;
  17. import com.miraclem4n.mchat.api.Parser;
  18.  
  19. public class ObsidianVote extends JavaPlugin {
  20.     // Default Plugin Data
  21.     PluginManager pm;
  22.     PluginDescriptionFile pdfFile;
  23.  
  24.     // MySQL Connection
  25.     MySQL mInfo;
  26.     Connection mConnection;
  27.  
  28.     // Timers
  29.     long sTime1;
  30.     long sTime2;
  31.     float sDiff1;
  32.  
  33.     // Debug Timers
  34.     long sTime3;
  35.     long sTime4;
  36.     long sTime5;
  37.     long sTime6;
  38.     long sTime7;
  39.     long sTime8;
  40.     float sDiff2;
  41.     float sDiff3;
  42.     float sDiff4;
  43.  
  44.     // Votes HashMap
  45.     HashMap<String, Integer> pVotes = new HashMap<String, Integer>();
  46.  
  47.     // Broadcast Waiting List
  48.     ArrayList<String> bList = new ArrayList<String>();
  49.  
  50.     public void onEnable() {
  51.         // 1st Startup Timer
  52.         sTime1 = new Date().getTime();
  53.  
  54.         // Initialize Plugin Data
  55.         pm = getServer().getPluginManager();
  56.         pdfFile = getDescription();
  57.        
  58.         pm.registerEvents(new VoteListener(this), this);
  59.  
  60.         // Config Stuff
  61.         loadConfiguration();
  62.  
  63.         mInfo = new MySQL(
  64.                 Logger.getLogger("Minecraft"),
  65.                 "[OV MySQL]",
  66.                 getConfig().getString("db.host"),
  67.                 getConfig().getString("db.port"),
  68.                 getConfig().getString("db.db"),
  69.                 getConfig().getString("db.user"),
  70.                 getConfig().getString("db.pass"));
  71.  
  72.         mConnection = mInfo.getConnection();
  73.  
  74.         setupTimers();
  75.         registerEvents();
  76.        
  77.         new oAPI(this);
  78.  
  79.         getCommand("obsidianvote").setExecutor(getCommandSender());
  80.        
  81.         API.initialize();
  82.         API.addGlobalVar("oVar", "");
  83.  
  84.         // 2nd Startup Timer
  85.         sTime2 = new Date().getTime();
  86.  
  87.         // Calculate Startup Timer
  88.         sDiff1 = new Float (sTime2 - sTime1) / 1000;
  89.     }
  90.  
  91.     public void onDisable() {
  92.         getServer().getScheduler().cancelTasks(this);
  93.  
  94.         mInfo.close();
  95.  
  96.     }
  97.    
  98.     public void loadConfiguration() {
  99.                 getConfig().options().copyDefaults(true);
  100.                 saveDefaultConfig();
  101.         }
  102.  
  103.     void registerEvents() {
  104.         pm.registerEvents(getPlayerListener(), this);
  105.     }
  106.  
  107.     // InfoReader
  108.     OVPlayerListener getPlayerListener() {
  109.         return new OVPlayerListener(this);
  110.     }
  111.  
  112.     // API
  113.     OVCommandSender getCommandSender() {
  114.         return new OVCommandSender(this);
  115.     }
  116.    
  117.     Boolean checkPlugin(String pluginName) {
  118.         return pm.getPlugin(pluginName) != null;
  119.     }
  120.  
  121.     @SuppressWarnings("deprecation")
  122.         void setupTimers() {
  123.         getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
  124.             public void run() {
  125.                 sTime3 = new Date().getTime();
  126.  
  127.                 for (Player player : getServer().getOnlinePlayers())
  128.                     if (!oAPI.hasPlayerVoted(player))
  129.                         player.sendMessage(oAPI.addColour(oAPI.getRandomString(getConfig().getList("message.voteF"))));
  130.                     else if (getConfig().getBoolean("event.nagHasVoted"))
  131.                         player.sendMessage(oAPI.addColour(oAPI.getRandomString(getConfig().getList("message.voteT"))));
  132.  
  133.                 sTime4 = new Date().getTime();
  134.                 sDiff2 = new Float (sTime4 - sTime3) / 1000;
  135.             }
  136.         }, 20L * getConfig().getInt("event.serverNagTime"), 20L * getConfig().getInt("event.serverNagTime"));
  137.  
  138.         getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  139.             public void run() {
  140.                 sTime5 = new Date().getTime();
  141.  
  142.                 for (Player player : getServer().getOnlinePlayers()) {
  143.                     if (oAPI.hasVoteCountChanged(player.getName()))
  144.                         bList.add(player.getName());
  145.  
  146.                     if (!oAPI.hasPlayerVoted(player))
  147.                         API.addPlayerVar(player.getName(), "oVar", "");
  148.                     else
  149.                         API.addPlayerVar(player.getName(), "oVar", getConfig().getString("event.chatTag"));
  150.                 }
  151.  
  152.                 sTime6 = new Date().getTime();
  153.                 sDiff3 = new Float (sTime6 - sTime5) / 1000;
  154.  
  155.             }
  156.         }, 20L * getConfig().getInt("event.tagRefreshTime"), 20L * getConfig().getInt("event.tagRefreshTime"));
  157.  
  158.         getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  159.            
  160.                 public void run() {
  161.                 if (bList.size() > 0) {
  162.                     if (getServer().getPlayer(bList.get(0)) != null)
  163.                         getServer().broadcastMessage(
  164.                                         oAPI.addColour(
  165.                                                         oAPI.getRandomString(getConfig().getList("message.voteChanged")).replace("%Player%",
  166.                                                                                                                
  167.                                                                         Parser.parsePlayerName(bList.get(0),getServer().getPlayer(bList.get(0)).getWorld().getName())
  168.                                                         )
  169.                                                 )
  170.                         );
  171.  
  172.                     bList.remove(0);
  173.                 }
  174.             }
  175.         }, 20L * getConfig().getInt("event.broadcastDelay"), 20L * getConfig().getInt("event.broadcastDelay"));
  176.     }
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement