Advertisement
Guest User

Untitled

a guest
Sep 14th, 2014
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. package me.didjee2.Broadcast;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileReader;
  7. import java.io.IOException;
  8. import java.io.InputStreamReader;
  9. import java.io.LineNumberReader;
  10. import java.util.logging.Logger;
  11.  
  12. import org.bukkit.Bukkit;
  13. import org.bukkit.ChatColor;
  14. import org.bukkit.command.Command;
  15. import org.bukkit.command.CommandSender;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.plugin.PluginDescriptionFile;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20. public class Broadcast extends JavaPlugin {
  21. public static Broadcast plugin;
  22. public final Logger logger = Logger.getLogger("Minecraft");
  23. public static int currentLine = 0;
  24. public static int tid = 0;
  25. public static int running = 1;
  26. public static long interval = 10;
  27.  
  28. @Override
  29. public void onDisable(){
  30. PluginDescriptionFile pdfFile = this.getDescription();
  31. this.logger.info(pdfFile.getName() + " version " + pdfFile.getVersion() + " Is now Disabled!");
  32. }
  33.  
  34. @Override
  35. public void onEnable(){
  36. PluginDescriptionFile pdfFile = this.getDescription();
  37. this.logger.info(pdfFile.getName() + " version " + pdfFile.getVersion() + " Is now Enabled!");
  38.  
  39. tid = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  40. public void run() {
  41. try {
  42. broadcastMessage("plugins/Broadcast/messages.txt");
  43. } catch(IOException e) {
  44.  
  45. }
  46. }
  47. }, 0, interval * 40);
  48. }
  49.  
  50. public static void broadcastMessage(String fileName) throws IOException {
  51. FileInputStream fs;
  52. fs = new FileInputStream(fileName);
  53. BufferedReader br = new BufferedReader(new InputStreamReader(fs));
  54. for(int i = 0; i < currentLine; ++i)
  55. br.readLine();
  56. String line = br.readLine();
  57. line = line.replaceAll("&f", ChatColor.WHITE + "");
  58. line = line.replaceAll("&e", ChatColor.YELLOW + "");
  59. line = line.replaceAll("&d", ChatColor.LIGHT_PURPLE + "");
  60. line = line.replaceAll("&a", ChatColor.GREEN + "");
  61. line = line.replaceAll("&c", ChatColor.RED + "");
  62. Bukkit.getServer().broadcastMessage(ChatColor.BLUE + "[" + ChatColor.DARK_GRAY + "Broadcaster" + ChatColor.BLUE + "] " + line);
  63. LineNumberReader lnr = new LineNumberReader(new FileReader(new File(fileName)));
  64. lnr.skip(Long.MAX_VALUE);
  65. int lastLine = lnr.getLineNumber();
  66. if(currentLine + 1 == lastLine + 1) {
  67. currentLine = 0;
  68. } else {
  69. currentLine++;
  70. }
  71. }
  72.  
  73. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
  74. if(commandLabel.equalsIgnoreCase("stopbroadcast")) {
  75. if (running == 1) {
  76. Bukkit.getServer().getScheduler().cancelTask(tid);
  77. Player player = (Player) sender;
  78. player.sendMessage(ChatColor.BLUE + "Cancelled Broadcasting!");
  79. running = 0;
  80. } else {
  81. Player player = (Player) sender;
  82. player.sendMessage(ChatColor.BLUE + "Broadcasting is already Cancelled!");
  83. }
  84. } else if (commandLabel.equalsIgnoreCase("startbroadcast")) {
  85. if (running == 1) {
  86. Player player = (Player) sender;
  87. player.sendMessage(ChatColor.BLUE + "Broadcasting is already Started!");
  88. } else {
  89. tid = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  90. public void run() {
  91. try {
  92. broadcastMessage("plugins/Broadcast/messages.txt");
  93. } catch(IOException e) {
  94.  
  95. }
  96. }
  97. }, 0, interval * 40);
  98. Player player = (Player) sender;
  99. player.sendMessage(ChatColor.BLUE + "Enabled Broadcasting!");
  100. running = 1;
  101. }
  102. }
  103. return false;
  104.  
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement