Advertisement
Guest User

NewAnnouncer.java

a guest
Nov 19th, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. package me.bai1.NewAnnouncer;
  2.  
  3. import java.util.List;
  4. import java.util.Random;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.plugin.Plugin;
  11. import org.bukkit.plugin.PluginManager;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13. import org.bukkit.scheduler.BukkitScheduler;
  14.  
  15. import me.bai1.NewTrans.NewTrans;
  16. import me.bai1.NewTrans.Language;
  17.  
  18. public class NewAnnouncer extends JavaPlugin implements Listener {
  19. public static String annPrefix = "";
  20. public static List<String> annMessages;
  21. public static String noPerm = "";
  22. public static int annNumber = 0;
  23. public static int annAnnouncements = 1;
  24. public static int annInterval = 300;
  25. public static boolean annRandom = false;
  26. public static boolean NTC = false;
  27.  
  28. // NewTrans compatibility
  29. public static Plugin NewTransT;
  30.  
  31. public void onEnable() {
  32. getConfig().options().copyDefaults();
  33. saveConfig();
  34.  
  35. loadProcess();
  36. getLogger().info(this.toString());
  37. Bukkit.getPluginManager().registerEvents(this, this);
  38. getLogger().info("Plugin enabled");
  39. }
  40.  
  41. public void loadProcess() {
  42. getLogger().info("Setting 'no permission' message");
  43. noPerm = getConfig().getString("no-permission");
  44.  
  45. getLogger().info("Setting announcement prefix");
  46. annPrefix = getConfig().getString("prefix").replace("&", "\u00A7");
  47. getLogger().info("Reading announceable messages");
  48. annMessages = getConfig().getStringList("messages");
  49. annAnnouncements = annMessages.size();
  50.  
  51. NewTransT = Bukkit.getPluginManager().getPlugin("NewTrans");
  52. if(NewTransT != null) {
  53. NTC = true;
  54. getLogger().info("Hooking into " + NewTransT.toString());
  55. }
  56.  
  57. Bukkit.getPluginManager().registerEvents(this, this);
  58. getLogger().info("Registering commands");
  59. getCommand("newannouncer").setExecutor(new cmd_announce(this));
  60. getCommand("newannounce").setExecutor(new cmd_announce());
  61. getCommand("newann").setExecutor(new cmd_announce());
  62. getCommand("na").setExecutor(new cmd_announce());
  63. //getCommand("announcer").setExecutor(new cmd_announce());
  64. //getCommand("an").setExecutor(new cmd_announce());
  65. //getCommand("ann").setExecutor(new cmd_announce());
  66. getLogger().info("Setting interval between announcements");
  67. annInterval = getConfig().getInt("interval");
  68.  
  69. getLogger().info("Setting announcement order");
  70. annRandom = getConfig().getBoolean("random");
  71.  
  72. setInterval(annInterval);
  73. }
  74.  
  75. public void onDisable() {
  76.  
  77. }
  78.  
  79. public void setInterval(int interval) {
  80. Bukkit.getScheduler().cancelTasks(Bukkit.getServer().getPluginManager().getPlugin("NewAnnouncer"));
  81. Bukkit.getScheduler().scheduleSyncRepeatingTask(Bukkit.getServer().getPluginManager().getPlugin("NewAnnouncer"),new Runnable() {
  82. public void run() {
  83. if(NewAnnouncer.annNumber < NewAnnouncer.annMessages.size()) {
  84. String annMessage = NewAnnouncer.annMessages.get(NewAnnouncer.annNumber);
  85. Bukkit.broadcastMessage(annPrefix + annMessage);
  86. if(NTC == true) {
  87. NewTrans NewTrans = (NewTrans) Bukkit.getServer().getPluginManager().getPlugin("NewTrans");
  88. NewTrans.printTranslation(annMessage, "CONSOLE", Language.SPANISH);
  89. }
  90.  
  91. if(NewAnnouncer.annRandom = true) {
  92. Random randomNum = new Random();
  93. NewAnnouncer.annNumber = Math.abs(randomNum.nextInt() % NewAnnouncer.annMessages.size());
  94. } else {
  95. if(NewAnnouncer.annNumber >= NewAnnouncer.annMessages.size()) {
  96. NewAnnouncer.annNumber = 0;
  97. } else {
  98. NewAnnouncer.annNumber++;
  99. }
  100. }
  101. }
  102. }
  103. },interval * 20L, interval * 20L);
  104. }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement