funkemunky

Untitled

Apr 15th, 2017
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.08 KB | None | 0 0
  1. package server.wenjapvp;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.Reader;
  7. import java.io.UnsupportedEncodingException;
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.List;
  11. import java.util.logging.Level;
  12.  
  13. import org.bukkit.Bukkit;
  14. import org.bukkit.ChatColor;
  15. import org.bukkit.configuration.file.FileConfiguration;
  16. import org.bukkit.configuration.file.FileConfigurationOptions;
  17. import org.bukkit.configuration.file.YamlConfiguration;
  18. import org.bukkit.entity.Player;
  19. import org.bukkit.event.EventHandler;
  20. import org.bukkit.event.Listener;
  21. import org.bukkit.event.player.AsyncPlayerChatEvent;
  22. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  23. import org.bukkit.event.player.PlayerMoveEvent;
  24. import org.bukkit.plugin.PluginManager;
  25. import org.bukkit.plugin.java.JavaPlugin;
  26.  
  27. import lombok.Getter;
  28. import server.wenjapvp.commands.AutorestartCommand;
  29. import server.wenjapvp.commands.BlacklistCommand;
  30. import server.wenjapvp.commands.ClearChatCommand;
  31. import server.wenjapvp.commands.CopyInventoryCommand;
  32. import server.wenjapvp.commands.CreativeCommand;
  33. import server.wenjapvp.commands.FreezeCommand;
  34. import server.wenjapvp.commands.InvseeCommand;
  35. import server.wenjapvp.commands.IpResetCommand;
  36. import server.wenjapvp.commands.ListCommand;
  37. import server.wenjapvp.commands.MuteChatCommand;
  38. import server.wenjapvp.commands.OresCommand;
  39. import server.wenjapvp.commands.PingCommand;
  40. import server.wenjapvp.commands.RenameCommand;
  41. import server.wenjapvp.commands.SpawnCommand;
  42. import server.wenjapvp.commands.StaffModeCommand;
  43. import server.wenjapvp.commands.VanishCommand;
  44. import server.wenjapvp.commands.login.LoginCommand;
  45. import server.wenjapvp.commands.login.PinCommand;
  46. import server.wenjapvp.commands.login.RemovePinCommand;
  47. import server.wenjapvp.events.DB;
  48. import server.wenjapvp.listeners.AsyncHitListener;
  49. import server.wenjapvp.listeners.CommandBlocker;
  50. import server.wenjapvp.listeners.DonorBroadcast;
  51. import server.wenjapvp.listeners.FreezeListener;
  52. import server.wenjapvp.listeners.JoinHandler;
  53. import server.wenjapvp.listeners.JoinListeners;
  54. import server.wenjapvp.listeners.ListListener;
  55. import server.wenjapvp.listeners.MuteChatListener;
  56. import server.wenjapvp.listeners.StaffModeListener;
  57. import server.wenjapvp.utils.ColorUtils;
  58.  
  59. public class Core extends JavaPlugin implements Listener
  60. {
  61.  
  62. /*
  63. * TODO: Fix Bugs Mutechat - Not letting people type it - StaffMode doesnt
  64. * allow people to enter it - Done Fix Essentials Gamemode -
  65. */
  66.  
  67. /*
  68. *
  69. * TODO: StaffChatCommand PanicCommand ReportCommand
  70. *
  71. */
  72.  
  73. @Getter public static Core instance;
  74. private DB db;
  75. public static ArrayList<String> staff = new ArrayList<String>();
  76. public static ArrayList<String> mod = new ArrayList<String>();
  77. public static ArrayList<String> freeze = new ArrayList<String>();
  78. @Getter private StaffModeListener staffModeListener;
  79. @Getter private FreezeListener freezeListener;
  80. private File reclaimFile;
  81. private FileConfiguration reclaimConfig;
  82.  
  83. public void onEnable()
  84. {
  85. instance = this;
  86. this.db = new DB();
  87. setupFiles();
  88. saveDefaultReclaim();
  89.  
  90. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  91. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  92. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  93. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  94. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  95. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  96. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  97. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  98. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  99. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  100. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  101. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  102. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  103. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "HQPots - Core - Status: Active");
  104.  
  105. // COMMANDS
  106. getCommand("invsee").setExecutor(new InvseeCommand());
  107. getCommand("list").setExecutor(new ListCommand());
  108. getCommand("pin").setExecutor(new LoginCommand());
  109. getCommand("removepin").setExecutor(new RemovePinCommand());
  110. getCommand("setpin").setExecutor(new PinCommand());
  111. getCommand("copyinv").setExecutor(new CopyInventoryCommand());
  112. getCommand("mutechat").setExecutor(new MuteChatCommand());
  113. getCommand("spawner").setExecutor(new SpawnCommand());
  114. getCommand("ipreset").setExecutor(new IpResetCommand());
  115. getCommand("cc").setExecutor(new ClearChatCommand());
  116. getCommand("rename").setExecutor(new RenameCommand());
  117. getCommand("ores").setExecutor(new OresCommand());
  118. getCommand("blacklist").setExecutor(new BlacklistCommand());
  119. getCommand("staffmode").setExecutor(new StaffModeCommand());
  120. getCommand("h").setExecutor(new StaffModeCommand());
  121. getCommand("mod").setExecutor(new StaffModeCommand());
  122. getCommand("creative").setExecutor(new CreativeCommand());
  123. getCommand("ping").setExecutor(new PingCommand());
  124.  
  125. Bukkit.getServer().getPluginCommand("freeze").setExecutor(new FreezeCommand());
  126. Bukkit.getServer().getPluginCommand("vanish").setExecutor(new VanishCommand());
  127. Bukkit.getServer().getPluginCommand("autorestart").setExecutor(new AutorestartCommand());
  128.  
  129. // LISTENERS
  130. PluginManager manager = Bukkit.getServer().getPluginManager();
  131. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  132. Bukkit.getServer().getPluginManager().registerEvents(new JoinListeners(), this);
  133. Bukkit.getServer().getPluginManager().registerEvents(new LoginCommand(), this);
  134. Bukkit.getServer().getPluginManager().registerEvents(new JoinHandler(), this);
  135. Bukkit.getServer().getPluginManager().registerEvents(new DonorBroadcast(), this);
  136. Bukkit.getServer().getPluginManager().registerEvents(new AsyncHitListener(), this);
  137. Bukkit.getServer().getPluginManager().registerEvents(new CommandBlocker(), this);
  138. manager.registerEvents(new ListListener(), this);
  139. manager.registerEvents(new MuteChatListener(), this);
  140. freezeListener = new FreezeListener();
  141. Bukkit.getServer().getPluginManager().registerEvents(freezeListener, this);
  142. staffModeListener = new StaffModeListener();
  143. Bukkit.getServer().getPluginManager().registerEvents(staffModeListener, this);
  144. }
  145.  
  146. public void onDisable()
  147. {
  148.  
  149. }
  150. public void reloadReclaim() {
  151. if (reclaimFile == null) {
  152. reclaimFile = new File(getDataFolder(), "reclaim.yml");
  153. }
  154. reclaimConfig = YamlConfiguration.loadConfiguration(reclaimFile);
  155. Reader defConfigStream = null;
  156. try {
  157. defConfigStream = new InputStreamReader(this.getResource("reclaim.yml"), "UTF8");
  158. } catch (UnsupportedEncodingException e) {
  159. e.printStackTrace();
  160. }
  161. if (defConfigStream != null) {
  162. YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
  163. stats.setDefaults(defConfig);
  164. }
  165. }
  166. public FileConfiguration getReclaim() {
  167. if (reclaimConfig == null) {
  168. reloadReclaim();
  169. }
  170. return reclaimConfig;
  171. }
  172. public void saveReclaim() {
  173. if (reclaimConfig == null || reclaimFile == null) {
  174. return;
  175. }
  176. try {
  177. getDbs().save(reclaimFile);
  178. } catch (IOException ex) {
  179. getLogger().log(Level.SEVERE, "Could not save config to " + reclaimFile, ex);
  180. }
  181. }
  182.  
  183. public void saveDefaultReclaim() {
  184. if (reclaimFile == null) {
  185. reclaimFile = new File(getDataFolder(), "reclaim.yml");
  186. }
  187. if (!reclaimFile.exists()) {
  188. getLogger().log(Level.WARNING, "No previous dbs file was found! Creating one now...");
  189. saveResource("dbs.yml", false);
  190. getLogger().log(Level.INFO, "dbs file was created!");
  191. }
  192. }
  193.  
  194. public DB getDB()
  195. {
  196. return this.db;
  197. }
  198.  
  199.  
  200. public FileConfigurationOptions getFileConfigurationOptions()
  201. {
  202. return getConfig().options();
  203. }
  204.  
  205. public List<String> getStringList(String path)
  206. {
  207. if (getConfig().contains(path))
  208. {
  209. ArrayList<String> lines = new ArrayList();
  210. for (String text : getConfig().getStringList(path))
  211. {
  212. lines.add(new ColorUtils().translateFromString(text));
  213. }
  214. return lines;
  215. }
  216. return Arrays.asList(new String[] {
  217. new ColorUtils().translateFromString("&cString list not found: '" + path + "'")
  218. });
  219. }
  220.  
  221. private void setupFiles()
  222. {
  223. try
  224. {
  225. if (!getDataFolder().exists())
  226. {
  227. getDataFolder().mkdirs();
  228. }
  229. File file = new File(getDataFolder().getAbsolutePath(), "config.yml");
  230. File file2 = new File(getDataFolder().getAbsolutePath(), "pin.yml");
  231. File file3 = new File(getDataFolder().getAbsolutePath(), "fails.yml");
  232. File file4 = new File(getDataFolder().getAbsoluteFile(), "notes.yml");
  233. File file5 = new File(getDataFolder(), "reclaim.yml");
  234. if (!file.exists())
  235. {
  236. getFileConfigurationOptions().copyDefaults(true);
  237. saveConfig();
  238. }
  239. else
  240. {}
  241. }
  242. catch (Exception exception)
  243. {
  244. exception.printStackTrace();
  245. }
  246. }
  247.  
  248. public void createPinFile()
  249. {
  250. try
  251. {
  252. FileConfiguration pin = YamlConfiguration.loadConfiguration(new File(getInstance().getDataFolder(), "pin.yml"));
  253. File pinFile = new File(instance.getDataFolder(), "pin.yml");
  254. pin.save(pinFile);
  255. }
  256. catch (IOException e)
  257. {
  258. e.printStackTrace();
  259. }
  260. }
  261.  
  262. public void createFailedFile()
  263. {
  264. try
  265. {
  266. FileConfiguration fail = YamlConfiguration.loadConfiguration(new File(getInstance().getDataFolder(), "fails.yml"));
  267. File failFile = new File(instance.getDataFolder(), "fails.yml");
  268. fail.save(failFile);
  269. }
  270. catch (IOException e)
  271. {
  272. e.printStackTrace();
  273. }
  274. }
  275.  
  276. @EventHandler
  277. public void onMoveBeforeLoggedIn(PlayerMoveEvent e)
  278. {
  279. Player p = e.getPlayer();
  280. if (LoginCommand.loggingin.contains(p.getName()))
  281. {
  282. e.setTo(e.getFrom());
  283. p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&eYou must enter your &6&lPIN&e. &7&o(/pin <pin>)"));
  284. }
  285. }
  286.  
  287. @EventHandler
  288. public void onChatBeforeLoggedIn(AsyncPlayerChatEvent e)
  289. {
  290. Player p = e.getPlayer();
  291. if (LoginCommand.loggingin.contains(p.getName()))
  292. {
  293. e.setCancelled(true);
  294. p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&eYou must enter your &6&lPIN&e. &7&o(/pin <pin>)"));
  295. }
  296. }
  297.  
  298. @EventHandler
  299. public void onCommandBeforeLoggedIn(PlayerCommandPreprocessEvent e)
  300. {
  301. Player p = e.getPlayer();
  302. if ((!e.getMessage().startsWith("/pin")) && (LoginCommand.loggingin.contains(p.getName())))
  303. {
  304. e.setCancelled(true);
  305. p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&eYou must enter your &6&lPIN&e. &7&o(/pin <pin>)"));
  306. }
  307. }
  308. }
Advertisement
Add Comment
Please, Sign In to add comment