Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package in.mDev.MiracleM4n.ObsidianVote;
- import java.sql.Connection;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.logging.Logger;
- import lib.PatPeter.SQLibrary.MySQL;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.PluginDescriptionFile;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import com.miraclem4n.mchat.api.API;
- import com.miraclem4n.mchat.api.Parser;
- public class ObsidianVote extends JavaPlugin {
- // Default Plugin Data
- PluginManager pm;
- PluginDescriptionFile pdfFile;
- // MySQL Connection
- MySQL mInfo;
- Connection mConnection;
- // Timers
- long sTime1;
- long sTime2;
- float sDiff1;
- // Debug Timers
- long sTime3;
- long sTime4;
- long sTime5;
- long sTime6;
- long sTime7;
- long sTime8;
- float sDiff2;
- float sDiff3;
- float sDiff4;
- // Votes HashMap
- HashMap<String, Integer> pVotes = new HashMap<String, Integer>();
- // Broadcast Waiting List
- ArrayList<String> bList = new ArrayList<String>();
- public void onEnable() {
- // 1st Startup Timer
- sTime1 = new Date().getTime();
- // Initialize Plugin Data
- pm = getServer().getPluginManager();
- pdfFile = getDescription();
- // Config Stuff
- loadConfiguration();
- mInfo = new MySQL(
- Logger.getLogger("Minecraft"),
- "[OV MySQL]",
- getConfig().getString("db.host"),
- getConfig().getString("db.port"),
- getConfig().getString("db.db"),
- getConfig().getString("db.user"),
- getConfig().getString("db.pass"));
- mConnection = mInfo.getConnection();
- setupTimers();
- registerEvents();
- new oAPI(this);
- new VoteListener(this);
- getCommand("obsidianvote").setExecutor(getCommandSender());
- API.initialize();
- API.addGlobalVar("oVar", "");
- // 2nd Startup Timer
- sTime2 = new Date().getTime();
- // Calculate Startup Timer
- sDiff1 = new Float (sTime2 - sTime1) / 1000;
- }
- public void onDisable() {
- getServer().getScheduler().cancelTasks(this);
- mInfo.close();
- }
- public void loadConfiguration() {
- getConfig().options().copyDefaults(true);
- saveDefaultConfig();
- }
- void registerEvents() {
- pm.registerEvents(getPlayerListener(), this);
- }
- // InfoReader
- OVPlayerListener getPlayerListener() {
- return new OVPlayerListener(this);
- }
- // API
- OVCommandSender getCommandSender() {
- return new OVCommandSender(this);
- }
- Boolean checkPlugin(String pluginName) {
- return pm.getPlugin(pluginName) != null;
- }
- @SuppressWarnings("deprecation")
- void setupTimers() {
- getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
- public void run() {
- sTime3 = new Date().getTime();
- for (Player player : getServer().getOnlinePlayers())
- if (!oAPI.hasPlayerVoted(player))
- player.sendMessage(oAPI.addColour(oAPI.getRandomString(getConfig().getList("message.voteF"))));
- else if (getConfig().getBoolean("event.nagHasVoted"))
- player.sendMessage(oAPI.addColour(oAPI.getRandomString(getConfig().getList("message.voteT"))));
- sTime4 = new Date().getTime();
- sDiff2 = new Float (sTime4 - sTime3) / 1000;
- }
- }, 20L * getConfig().getInt("event.serverNagTime"), 20L * getConfig().getInt("event.serverNagTime"));
- getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
- public void run() {
- sTime5 = new Date().getTime();
- for (Player player : getServer().getOnlinePlayers()) {
- if (oAPI.hasVoteCountChanged(player.getName()))
- bList.add(player.getName());
- if (!oAPI.hasPlayerVoted(player))
- API.addPlayerVar(player.getName(), "oVar", "");
- else
- API.addPlayerVar(player.getName(), "oVar", getConfig().getString("event.chatTag"));
- }
- sTime6 = new Date().getTime();
- sDiff3 = new Float (sTime6 - sTime5) / 1000;
- }
- }, 20L * getConfig().getInt("event.tagRefreshTime"), 20L * getConfig().getInt("event.tagRefreshTime"));
- getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
- public void run() {
- if (bList.size() > 0) {
- if (getServer().getPlayer(bList.get(0)) != null)
- getServer().broadcastMessage(
- oAPI.addColour(
- oAPI.getRandomString(getConfig().getList("message.voteChanged")).replace("%Player%",
- Parser.parsePlayerName(bList.get(0),getServer().getPlayer(bList.get(0)).getWorld().getName())
- )
- )
- );
- bList.remove(0);
- }
- }
- }, 20L * getConfig().getInt("event.broadcastDelay"), 20L * getConfig().getInt("event.broadcastDelay"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement