Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. import org.bukkit.plugin.java.*;
  2. import org.bukkit.*;
  3. import org.bukkit.entity.*;
  4. import java.util.*;
  5. import org.bukkit.plugin.*;
  6.  
  7. public class Announcer extends JavaPlugin
  8. {
  9. List<Announcement> announcements;
  10. public static Announcer instance;
  11. int interval;
  12. int x;
  13.  
  14. public Announcer() {
  15. this.x = 0;
  16. }
  17.  
  18. public String format(final String input) {
  19. return input.replace("&", "§");
  20. }
  21.  
  22. public void broadcast(final Announcement a) {
  23. for (final Player p : Bukkit.getOnlinePlayers()) {
  24. if (p.hasPermission("announcer." + a.getName())) {
  25. for (final String str : a.getMessage()) {
  26. p.sendMessage(this.format(str));
  27. }
  28. }
  29. }
  30. }
  31.  
  32. public void onEnable() {
  33. this.announcements = new ArrayList<Announcement>();
  34. this.saveDefaultConfig();
  35. this.interval = this.getConfig().getInt("delay");
  36. Announcer.instance = this;
  37. for (final String a : this.getConfig().getConfigurationSection("announcements").getKeys(false)) {
  38. final List<String> msg = (List<String>)this.getConfig().getStringList("announcements." + a);
  39. final String permission = a;
  40. new Announcement() {
  41. @Override
  42. public List<String> getMessage() {
  43. return msg;
  44. }
  45.  
  46. @Override
  47. public String getName() {
  48. return permission;
  49. }
  50. };
  51. }
  52. Bukkit.getScheduler().scheduleSyncRepeatingTask((Plugin)this, (Runnable)new Runnable() {
  53. @Override
  54. public void run() {
  55. if (Announcer.this.x == Announcer.this.announcements.size()) {
  56. Announcer.this.x = 0;
  57. }
  58. Announcer.this.broadcast(Announcer.this.announcements.get(Announcer.this.x));
  59. final Announcer this$2;
  60. final Announcer this$0 = this$2 = Announcer.this;
  61. ++this$2.x;
  62. }
  63. }, 0L, (long)(20 * this.interval));
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement