Advertisement
Guest User

main class

a guest
Jan 29th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.10 KB | None | 0 0
  1. package me.jwonacy;
  2.  
  3.  
  4. import java.io.File;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileWriter;
  7. import java.io.IOException;
  8. import java.io.PrintWriter;
  9. import java.text.SimpleDateFormat;
  10. import java.util.ArrayList;
  11. import java.util.Date;
  12. import java.util.List;
  13. import java.util.Scanner;
  14.  
  15. import org.bukkit.ChatColor;
  16. import org.bukkit.command.Command;
  17. import org.bukkit.command.CommandSender;
  18. import org.bukkit.entity.Player;
  19. import org.bukkit.permissions.Permission;
  20. import org.bukkit.plugin.PluginManager;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22.  
  23.  
  24. public class PlotContests extends JavaPlugin {
  25.  
  26. public static String getCurrentTimeStamp() {
  27. SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  28. Date now = new Date();
  29. String strDate = sdfDate.format(now);
  30. return strDate;
  31. }
  32.  
  33. @Override
  34. public void onEnable() {
  35. getLogger().info("Hello BroCraft! Plot Contests by jwonacy has been enabled!");
  36. getConfig().options().copyDefaults(true);
  37. saveConfig();
  38. reloadConfig();
  39. PluginManager pm = getServer().getPluginManager();
  40. pm.addPermission(enterPermission);
  41. pm.addPermission(donkeyPermission);
  42. pm.addPermission(reloadPermission);
  43. pm.addPermission(listPermission);
  44. pm.addPermission(clearlistPermission);
  45.  
  46. }
  47.  
  48. @Override
  49. public void onDisable() {
  50. getLogger().info("Goodbye BroCraft! Plot Contests by jwonacy has been disabled!");
  51. }
  52.  
  53.  
  54. public List<String> getTextFromFile() {
  55.  
  56. File file = new File(getDataFolder(), "entries.txt");
  57.  
  58. if (!file.exists()) {
  59. try {
  60. file.createNewFile();
  61. } catch(IOException e) {
  62. e.printStackTrace();
  63. }
  64. return null;
  65. }
  66.  
  67. List<String> text = new ArrayList<String>();
  68.  
  69. try (Scanner scanner = new Scanner(file)) {
  70. while (scanner.hasNextLine()) {
  71. String line = scanner.nextLine();
  72. if (line == null) {
  73. continue;
  74. }
  75. text.add(line);
  76. }
  77. } catch (FileNotFoundException e) {
  78. e.printStackTrace();
  79. return null;
  80. }
  81. return text;
  82. }
  83.  
  84. public void logToFile (String message) {
  85.  
  86.  
  87.  
  88. try
  89. {
  90. File dataFolder = getDataFolder();
  91. if(!dataFolder.exists())
  92. {
  93. dataFolder.mkdir();
  94. }
  95.  
  96. File saveTo = new File(getDataFolder(), "entries.txt");
  97. if (!saveTo.exists())
  98. {
  99. saveTo.createNewFile();
  100. }
  101.  
  102.  
  103. FileWriter fw = new FileWriter(saveTo, true);
  104.  
  105. PrintWriter pw = new PrintWriter(fw);
  106.  
  107. pw.println(message);
  108.  
  109. pw.flush();
  110.  
  111. pw.close();
  112.  
  113. } catch (IOException e)
  114. {
  115.  
  116. e.printStackTrace();
  117.  
  118. }
  119.  
  120. }
  121.  
  122. public Permission enterPermission = new Permission("plotcontest.enter");
  123. public Permission donkeyPermission = new Permission("plotcontest.donkey");
  124. public Permission reloadPermission = new Permission("plotcontest.reload");
  125. public Permission listPermission = new Permission("plotcontest.list");
  126. public Permission clearlistPermission = new Permission("plotcontest.clearlist");
  127.  
  128. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  129.  
  130.  
  131.  
  132. if (cmd.getName().equalsIgnoreCase("pcontest") && sender instanceof Player) {
  133.  
  134. if (args.length == 0) {
  135.  
  136. sender.sendMessage("------------------------------------------");
  137. sender.sendMessage(ChatColor.GOLD + "/pcontest enter <plot ID> <username> - enter this month's plot contest");
  138. sender.sendMessage(ChatColor.GOLD + "/pcontest reload - reload plot contests");
  139. sender.sendMessage(ChatColor.GOLD + "/plotcontest list - list current entries this month");
  140. sender.sendMessage(ChatColor.GOLD + "/plotcontest clearlist - clear the list of entries");
  141. sender.sendMessage("------------------------------------------");
  142.  
  143. return true;
  144.  
  145. }
  146.  
  147. if (args[0].equalsIgnoreCase("reload") && sender.hasPermission("plotcontest.reload")) {
  148.  
  149. reloadConfig();
  150.  
  151. sender.sendMessage(ChatColor.GREEN + "Config Reloaded!");
  152.  
  153. return true;
  154.  
  155. }
  156.  
  157. if (args[0].equalsIgnoreCase("clearlist") && sender.hasPermission("plotcontest.clearlist")) {
  158.  
  159. File fileToBeDeleted = new File(getDataFolder(), "entries.txt");
  160. fileToBeDeleted.delete();
  161. logToFile("-----------------------------------------------");
  162. logToFile(getCurrentTimeStamp() + " - LIST OF ENTRIES CLEARED!");
  163. logToFile("---LIST OF ENTRIES STARTS HERE---");
  164. logToFile("-----------------------------------------------");
  165. sender.sendMessage(ChatColor.GREEN + "entries.txt has been cleared");
  166. return true;
  167.  
  168. }
  169.  
  170. if (args[0].equalsIgnoreCase("donkey") && sender.hasPermission("plotcontest.donkey")) {
  171.  
  172.  
  173.  
  174. sender.sendMessage(ChatColor.LIGHT_PURPLE + "LOL");
  175. sender.sendMessage(ChatColor.DARK_PURPLE + "MLG, OYU ARE A GOOD'ON");
  176. sender.sendMessage(ChatColor.LIGHT_PURPLE + "OMG, DO YOU KNOW DOUGGGHHAN");
  177. sender.sendMessage(ChatColor.DARK_PURPLE + "m9 you be a donkeeeeh?");
  178. sender.sendMessage(ChatColor.LIGHT_PURPLE + "LOL");
  179. sender.sendMessage(ChatColor.DARK_PURPLE + "YOU GOT NO IDEEEEEAAAAA!!!!");
  180. sender.sendMessage(ChatColor.LIGHT_PURPLE + "if u find did den go die");
  181. sender.sendMessage(ChatColor.DARK_PURPLE + "DONKEEEEEEEEEEYS");
  182. return true;
  183.  
  184. }
  185.  
  186.  
  187. if (args[0].equalsIgnoreCase("list") && sender.hasPermission("plotcontest.list")) {
  188.  
  189. sender.sendMessage(ChatColor.GREEN + "Reading list of entries in entries.txt");
  190.  
  191. getTextFromFile().forEach(sender::sendMessage);
  192.  
  193. return true;
  194. }
  195.  
  196. if (args[0].equalsIgnoreCase("enter") && sender.hasPermission("plotcontest.enter")) {
  197.  
  198. if (args.length == 3) {
  199.  
  200. if (sender.getName().equalsIgnoreCase(args[2])) {
  201.  
  202. if (args[1].indexOf(";")!=-1) {
  203.  
  204. sender.sendMessage(ChatColor.GREEN + "Contratulations, " + sender.getName() + " you have succesfully entered the plot contest!");
  205.  
  206. logToFile(getCurrentTimeStamp() + " " + args[1] + " " + args[2]);
  207.  
  208. return true;
  209.  
  210. }
  211.  
  212. else {
  213.  
  214. sender.sendMessage(ChatColor.DARK_RED + "Please enter a valid Plot ID");
  215. return true;
  216.  
  217. }
  218.  
  219. }
  220.  
  221. else {
  222.  
  223. sender.sendMessage(ChatColor.DARK_RED + "Please only enter your own username");
  224. return true;
  225.  
  226. }
  227.  
  228. }
  229.  
  230. else {
  231.  
  232. sender.sendMessage(ChatColor.DARK_RED + "Please enter your Plot ID and username");
  233. return true;
  234.  
  235. }
  236.  
  237. }
  238.  
  239. else {
  240.  
  241. sender.sendMessage(ChatColor.DARK_RED + "Incorrect usage or permission level! Type /pcontest to see correct usage and ensure you are only using permitted commands!" );
  242. return true;
  243.  
  244. }
  245.  
  246. }
  247.  
  248. return false;
  249.  
  250.  
  251.  
  252. } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement