/src/net/sacredlabyrinth/phaed/simpleclans/SimpleClans.java

https://github.com/masp/SimpleClans · Java · 197 lines · 127 code · 25 blank · 45 comment · 2 complexity · 8cf72b23d7d5536d7b46820a6029e021 MD5 · raw file

  1. package net.sacredlabyrinth.phaed.simpleclans;
  2. import net.sacredlabyrinth.phaed.register.payment.Method;
  3. import net.sacredlabyrinth.phaed.simpleclans.listeners.SCEntityListener;
  4. import net.sacredlabyrinth.phaed.simpleclans.listeners.SCPlayerListener;
  5. import net.sacredlabyrinth.phaed.simpleclans.listeners.SCServerListener;
  6. import net.sacredlabyrinth.phaed.simpleclans.managers.*;
  7. import org.bukkit.craftbukkit.CraftServer;
  8. import org.bukkit.craftbukkit.command.ColouredConsoleSender;
  9. import org.bukkit.event.Event;
  10. import org.bukkit.event.Event.Priority;
  11. import org.bukkit.plugin.java.JavaPlugin;
  12. import java.text.MessageFormat;
  13. import java.util.Locale;
  14. import java.util.PropertyResourceBundle;
  15. import java.util.ResourceBundle;
  16. import java.util.logging.Logger;
  17. /**
  18. * @author Phaed
  19. */
  20. public class SimpleClans extends JavaPlugin
  21. {
  22. private static SimpleClans instance;
  23. private static Logger logger = Logger.getLogger("Minecraft");
  24. private Method Method;
  25. private ClanManager clanManager;
  26. private RequestManager requestManager;
  27. private StorageManager storageManager;
  28. private SpoutPluginManager spoutPluginManager;
  29. private SettingsManager settingsManager;
  30. private PermissionsManager permissionsManager;
  31. private CommandManager commandManager;
  32. private SCPlayerListener playerListener;
  33. private SCEntityListener entityListener;
  34. private SCServerListener serverListener;
  35. private ResourceBundle lang;
  36. /**
  37. * @return the logger
  38. */
  39. public static Logger getLogger()
  40. {
  41. return logger;
  42. }
  43. /**
  44. * @return the instance
  45. */
  46. public static SimpleClans getInstance()
  47. {
  48. return instance;
  49. }
  50. /**
  51. * Parametrized logger
  52. *
  53. * @param msg the message
  54. * @param arg the arguments
  55. */
  56. public static void log(String msg, Object... arg)
  57. {
  58. CraftServer server = (CraftServer) SimpleClans.getInstance().getServer();
  59. ColouredConsoleSender sender = new ColouredConsoleSender(server);
  60. sender.sendMessage(new StringBuilder().append(MessageFormat.format(msg, arg)).toString());
  61. }
  62. public void onEnable()
  63. {
  64. instance = this;
  65. settingsManager = new SettingsManager();
  66. if (lang == null)
  67. {
  68. lang = PropertyResourceBundle.getBundle("languages.lang", new Locale(settingsManager.getLanguage()));
  69. }
  70. logger.info(MessageFormat.format(lang.getString("version.loaded"), getDescription().getName(), getDescription().getVersion()));
  71. spoutPluginManager = new SpoutPluginManager();
  72. permissionsManager = new PermissionsManager();
  73. requestManager = new RequestManager();
  74. clanManager = new ClanManager();
  75. storageManager = new StorageManager();
  76. commandManager = new CommandManager();
  77. playerListener = new SCPlayerListener();
  78. entityListener = new SCEntityListener();
  79. serverListener = new SCServerListener();
  80. registerEvents();
  81. spoutPluginManager.processAllPlayers();
  82. }
  83. private void registerEvents()
  84. {
  85. getServer().getPluginManager().registerEvent(Event.Type.ENTITY_DAMAGE, entityListener, Priority.Low, this);
  86. getServer().getPluginManager().registerEvent(Event.Type.ENTITY_DEATH, entityListener, Priority.Low, this);
  87. getServer().getPluginManager().registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, playerListener, Priority.Lowest, this);
  88. getServer().getPluginManager().registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Lowest, this);
  89. getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
  90. getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, playerListener, Priority.Normal, this);
  91. getServer().getPluginManager().registerEvent(Event.Type.PLAYER_KICK, playerListener, Priority.Normal, this);
  92. getServer().getPluginManager().registerEvent(Event.Type.PLAYER_TOGGLE_SNEAK, playerListener, Priority.Normal, this);
  93. getServer().getPluginManager().registerEvent(Event.Type.PLAYER_TELEPORT, playerListener, Priority.Normal, this);
  94. getServer().getPluginManager().registerEvent(Event.Type.PLUGIN_ENABLE, serverListener, Priority.Monitor, this);
  95. getServer().getPluginManager().registerEvent(Event.Type.PLUGIN_DISABLE, serverListener, Priority.Monitor, this);
  96. }
  97. public void onDisable()
  98. {
  99. getServer().getScheduler().cancelTasks(this);
  100. getStorageManager().closeConnection();
  101. }
  102. /**
  103. * @param Method the Method to set
  104. */
  105. public void setMethod(Method Method)
  106. {
  107. this.Method = Method;
  108. }
  109. /**
  110. * @return the Method
  111. */
  112. public Method getMethod()
  113. {
  114. return Method;
  115. }
  116. /**
  117. * @return the clanManager
  118. */
  119. public ClanManager getClanManager()
  120. {
  121. return clanManager;
  122. }
  123. /**
  124. * @return the requestManager
  125. */
  126. public RequestManager getRequestManager()
  127. {
  128. return requestManager;
  129. }
  130. /**
  131. * @return the storageManager
  132. */
  133. public StorageManager getStorageManager()
  134. {
  135. return storageManager;
  136. }
  137. /**
  138. * @return the spoutManager
  139. */
  140. public SpoutPluginManager getSpoutPluginManager()
  141. {
  142. return spoutPluginManager;
  143. }
  144. /**
  145. * @return the settingsManager
  146. */
  147. public SettingsManager getSettingsManager()
  148. {
  149. return settingsManager;
  150. }
  151. /**
  152. * @return the permissionsManager
  153. */
  154. public PermissionsManager getPermissionsManager()
  155. {
  156. return permissionsManager;
  157. }
  158. /**
  159. * @return the commandManager
  160. */
  161. public CommandManager getCommandManager()
  162. {
  163. return commandManager;
  164. }
  165. /**
  166. * @return the lang
  167. */
  168. public ResourceBundle getLang()
  169. {
  170. return lang;
  171. }
  172. }