coolnickname

Untitled

Dec 3rd, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package me.mason;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.AsyncPlayerChatEvent;
  14. import org.bukkit.event.player.PlayerJoinEvent;
  15. import org.bukkit.plugin.java.JavaPlugin;
  16. import org.bukkit.scheduler.BukkitRunnable;
  17.  
  18. public class UrosBasicChatMain extends JavaPlugin implements Listener {
  19. private HashMap<Player, Integer> cooldownTime;
  20. private HashMap<Player, BukkitRunnable> cooldownTask;
  21.  
  22. private ArrayList<Player> RP = new ArrayList<Player>();
  23. private ArrayList<Player> OOC = new ArrayList<Player>();
  24. private ArrayList<Player> DoneName = new ArrayList<Player>();
  25.  
  26. public void onEnable() {
  27. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  28. cooldownTime = new HashMap<Player, Integer>();
  29. cooldownTask = new HashMap<Player, BukkitRunnable>();
  30. }
  31.  
  32. @EventHandler
  33. public void onJoin(PlayerJoinEvent e) {
  34. OOC.add(e.getPlayer());
  35. e.getPlayer().sendMessage(ChatColor.AQUA + "You Are In OOC Chat ");
  36. }
  37.  
  38. public boolean onCommand(CommandSender sender, Command cmd, String Label, String[] args) {
  39. if (!(sender instanceof Player)) {
  40. sender.sendMessage(ChatColor.RED + "You Must Be A Player To Move Chats");
  41. }
  42. Player p = (Player) sender;
  43. if (Label.equalsIgnoreCase("RP")) {
  44. if (RP.contains(p)) {
  45. p.sendMessage(ChatColor.RED + "You Are Already In RP Chat!");
  46. } else {
  47. p.sendMessage(ChatColor.GREEN + "Switched To Roleplay Chat!");
  48. OOC.remove(p);
  49. RP.add(p);
  50. return true;
  51. }
  52. }
  53. if (Label.equalsIgnoreCase("OOC")) {
  54. if (OOC.contains(p)) {
  55. p.sendMessage(ChatColor.RED + "You Are Already In OOC Chat!");
  56. } else {
  57.  
  58. p.sendMessage(ChatColor.GREEN + "Switched To OOC Chat!");
  59. OOC.add(p);
  60. RP.remove(p);
  61. return true;
  62. }
  63. }
  64. if (Label.equalsIgnoreCase("Name")) {
  65. if (args.length == 0) {
  66. p.sendMessage(ChatColor.RED + "Please Specify A Nickname!");
  67. return true;
  68. }
  69. if (args.length > 4) {
  70. p.sendMessage(ChatColor.RED + "To Many Arguments!");
  71. return true;
  72. }
  73. if (DoneName.contains(p)) {
  74. p.sendMessage(ChatColor.RED + "You Have Already Set Your Name, You Can Change Your Name Every 2 Days!");
  75. } else {
  76. DoneName.add(p);
  77. String nick = "";
  78. for (String arg : args) {
  79. nick += arg + " ";
  80. }
  81. nick = nick.substring(0, nick.length() - 1);
  82. p.sendMessage(ChatColor.GREEN + "Name Changed To: " + ChatColor.RESET + nick);
  83. this.getConfig().set(p.getName(), nick);
  84. this.saveConfig();
  85. cooldownTime.put(p, 5);
  86. cooldownTask.put(p, new BukkitRunnable() {
  87. public void run() {
  88. cooldownTime.put(p, cooldownTime.get(p) - 1);
  89. if (cooldownTime.get(p) == 0) {
  90. p.sendMessage(ChatColor.GREEN+"You May Change Your Name Now");
  91. DoneName.remove(p);
  92. cooldownTime.remove(p);
  93. cooldownTask.remove(p);
  94. cancel();
  95. }
  96. }
  97. });
  98. cooldownTask.get(p).runTaskTimer(this, 20, 20);
  99. }
  100. }
  101. return true;
  102. }
  103.  
  104. @EventHandler
  105. public void onChat(AsyncPlayerChatEvent e) {
  106. Player p = e.getPlayer();
  107. String name = this.getConfig().getString(e.getPlayer().getName());
  108. String msg = e.getMessage();
  109. if (RP.contains(p)) {
  110. if (!(msg.startsWith("(("))) {
  111. e.setCancelled(true);
  112. for (Player un : RP) {
  113. un.sendMessage(ChatColor.DARK_GRAY + name + ": " + ChatColor.RESET + "\"" + msg + "\"");
  114. }
  115. } else {
  116. e.setCancelled(true);
  117. for (Player un : RP) {
  118. un.sendMessage(
  119. ChatColor.GRAY + "[L-OOC] " + ChatColor.DARK_GRAY + name + ": " + ChatColor.RESET + msg);
  120. }
  121. }
  122. if (msg.startsWith("*")) {
  123. e.setCancelled(true);
  124. msg = msg.replaceAll("\\*", "");
  125. for (Player un : RP) {
  126. if(msg.contains("*")){continue;}
  127. un.sendMessage(ChatColor.GREEN + name + " " + msg);
  128. }
  129. }
  130. }
  131.  
  132. if (OOC.contains(p)) {
  133. e.setCancelled(true);
  134. for (Player un : OOC) {
  135. un.sendMessage(
  136. ChatColor.GRAY + "[OOC] " + ChatColor.DARK_GRAY + p.getName() + ": " + ChatColor.RESET + msg);
  137. }
  138. }
  139.  
  140. }
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment