Advertisement
Guest User

Untitled

a guest
Jun 7th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.26 KB | None | 0 0
  1. package me.plugin.sito;
  2.  
  3. import com.google.common.collect.Maps;
  4. import java.util.Map;
  5. import org.bukkit.Server;
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandSender;
  8. import org.bukkit.command.PluginCommand;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.EventPriority;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.AsyncPlayerChatEvent;
  14. import org.bukkit.event.player.PlayerQuitEvent;
  15. import org.bukkit.plugin.PluginManager;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17.  
  18. public class BoostChat
  19. extends JavaPlugin
  20. implements Listener
  21. {
  22. Map<Player, Long> delay = Maps.newHashMap();
  23. String s = "&a&lBoost&b&lChat &7& ";
  24. boolean muted = false;
  25. long time = 5000L;
  26.  
  27. public void onEnable()
  28. {
  29. getServer().getPluginManager().registerEvents(this, this);
  30. getCommand("mutechat").setExecutor(this);
  31. getCommand("slowchat").setExecutor(this);
  32. getCommand("clearchat").setExecutor(this);
  33. }
  34.  
  35. boolean isDouble(String s)
  36. {
  37. try
  38. {
  39. Double.parseDouble(s);
  40. return true;
  41. }
  42. catch (NumberFormatException e) {}
  43. return false;
  44. }
  45.  
  46. @EventHandler
  47. public void quit(PlayerQuitEvent e)
  48. {
  49. this.delay.remove(e.getPlayer());
  50. }
  51.  
  52. @EventHandler(priority=EventPriority.LOWEST)
  53. public void chat(AsyncPlayerChatEvent e)
  54. {
  55. Player p = e.getPlayer();
  56. if ((this.delay.containsKey(p)) && (System.currentTimeMillis() >= ((Long)this.delay.get(p)).longValue())) {
  57. this.delay.remove(p);
  58. }
  59. if ((this.muted) && (!p.hasPermission("boostchat.bypass")))
  60. {
  61. e.setCancelled(true);
  62. e.setMessage(null);
  63. p.sendMessage(this.s + "&aChat is currently muted");
  64. }
  65. else if (this.delay.containsKey(p))
  66. {
  67. e.setCancelled(true);
  68. e.setMessage(null);
  69. p.sendMessage("&c&l(!) &eYou must wait &a&n" + (((Long)this.delay.get(p)).longValue() - System.currentTimeMillis()) + " ms&e before using chat");
  70. }
  71. else if (!p.hasPermission("boostchat.bypass"))
  72. {
  73. this.delay.put(p, Long.valueOf(System.currentTimeMillis() + this.time));
  74. }
  75. }
  76.  
  77. public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
  78. {
  79. if ((command.getName().equals("mutechat")) && (sender.hasPermission("boost.mutechat")))
  80. {
  81. if (!this.muted)
  82. {
  83. this.muted = true;
  84. if(args.length == 1 && (args[0].equalsIgnoreCase("-s") || args[0].equalsIgnoreCase("silent"))) {
  85. getServer().broadcastMessage(this.s + "&cChat has been muted!");
  86. } else {
  87. getServer().broadcastMessage(this.s + "&cChat has been muted by &e" + sender.getName() + "&c!");
  88. }
  89. }
  90. else
  91. {
  92. this.muted = false;
  93. if ((args.length == 1) && ((args[0].equalsIgnoreCase("-s")) || (args[0].equalsIgnoreCase("silent")))) {
  94. getServer().broadcastMessage(this.s + "&aChat has been enabled!");
  95. } else {
  96. getServer().broadcastMessage(this.s + "&aChat has been enabled by &e" + sender.getName() + "&a!");
  97. }
  98. }
  99. }
  100. else if ((command.getName().equalsIgnoreCase("slowchat")) && (sender.hasPermission("boost.slowchat")))
  101. {
  102. if ((args.length == 2) && (args[0].equalsIgnoreCase("set")) && (isDouble(args[1])))
  103. {
  104. this.time = (long)((Double.parseDouble(args[1]) * 1000.0D));
  105. sender.sendMessage(this.s + "&aSet slow chat time to &e" + args[1] + " &aseconds");
  106. return true;
  107. }
  108. sender.sendMessage(this.s + "&aSlow chat is currently at &e" + this.time / 1000L + " &aseconds");
  109. sender.sendMessage(this.s + "&aUse &c/slowchat set <seconds> &ato change it");
  110. }
  111. else if ((command.getName().equalsIgnoreCase("clearchat")) && (sender.hasPermission("boost.clearchat")))
  112. {
  113. for (int i = 0; i < 100; i++) {
  114. getServer().broadcastMessage("\n");
  115. }
  116. if ((args.length == 1) && ((args[0].equalsIgnoreCase("-s")) || (args[0].equalsIgnoreCase("silent")))) {
  117. getServer().broadcastMessage(this.s + "&cChat has been cleared!");
  118. } else {
  119. getServer().broadcastMessage(this.s + "&cChat has been cleared by &e" + sender.getName() + "&c!");
  120. }
  121. }
  122. return true;
  123. }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement