Advertisement
Lisenochek

Untitled

Oct 6th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.90 KB | None | 0 0
  1. package me.xDark.TabTags.Commands;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  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.command.ConsoleCommandSender;
  11. import org.bukkit.configuration.file.YamlConfiguration;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.scoreboard.NameTagVisibility;
  14. import org.bukkit.scoreboard.Scoreboard;
  15. import org.bukkit.scoreboard.ScoreboardManager;
  16. import org.bukkit.scoreboard.Team;
  17.  
  18. import me.xDark.TabTags.TabTags;
  19. import me.xDark.TabTags.scheduler.PrefixSetup;
  20. import me.xDark.TabTags.utils.StringUtils;
  21. import pack.goblon.api.AbstractCommand;
  22.  
  23. public class TabTagsCommand extends AbstractCommand {
  24.  
  25. public TabTagsCommand() {
  26. super("tabtags", "Main plugin command", "У вас нету прав для этого!", "tabtags");
  27. }
  28.  
  29. private ScoreboardManager sm = Bukkit.getServer().getScoreboardManager();
  30.  
  31. @Override
  32. public boolean onCommand(CommandSender s, Command cmd, String str, String[] args) {
  33.  
  34. if (s instanceof ConsoleCommandSender) {
  35. return false;
  36. }
  37.  
  38. Scoreboard board = sm.getMainScoreboard();
  39. Player p = Bukkit.getPlayer(s.getName());
  40. String prefix = StringUtils.getPluginPrefix();
  41. YamlConfiguration y = YamlConfiguration
  42. .loadConfiguration(new File(TabTags.getInstance().getDataFolder(), "database.yml"));
  43.  
  44. if (args.length == 0) {
  45.  
  46. if (p.hasPermission("tabtags.help")) {
  47.  
  48. p.sendMessage(prefix + ChatColor.GOLD + "TabTags. Разработчик: xDark.");
  49. p.sendMessage(prefix + ChatColor.GOLD + "Соразработчик: Lisenochek.");
  50. p.sendMessage(prefix + ChatColor.GREEN + "=================================");
  51. p.sendMessage(prefix + ChatColor.GOLD + "Команды плагина: ");
  52. p.sendMessage(prefix + ChatColor.RED + "/tabtags set [префикс] - установить свой префикс.");
  53. p.sendMessage(prefix + ChatColor.RED + "/tabtags remove - удалить префикс.");
  54. } else {
  55.  
  56. p.sendMessage(prefix + ChatColor.RED + "У вас нету прав для этого!");
  57. }
  58. }
  59.  
  60. if (args.length == 1 && args[0].equalsIgnoreCase("set")) {
  61.  
  62. if (s.hasPermission("tabtags.settag")) {
  63.  
  64. s.sendMessage(prefix + ChatColor.RED + "Укажите префикс!");
  65. } else {
  66.  
  67. p.sendMessage(prefix + ChatColor.RED + "У вас нету прав для этого!");
  68. }
  69. }
  70.  
  71. if (args.length >= 1) {
  72.  
  73. if (s.hasPermission("tabtags.remove")) {
  74.  
  75. if (args[0].equalsIgnoreCase("remove")) {
  76.  
  77. if (y.contains(p.getName())) {
  78.  
  79. y.set(p.getName(), null);
  80.  
  81. try {
  82. PrefixSetup.firstTimer(p);
  83. } catch (IOException e1) {
  84. e1.printStackTrace();
  85. }
  86. try {
  87. PrefixSetup.secondTimer(p);
  88. } catch (IOException e1) {
  89. e1.printStackTrace();
  90. }
  91. try {
  92. PrefixSetup.ThirdTimer(p);
  93. } catch (IOException e1) {
  94. e1.printStackTrace();
  95. }
  96.  
  97. try {
  98. y.save(new File(TabTags.getInstance().getDataFolder(), "database.yml"));
  99. } catch (IOException e) {
  100. e.printStackTrace();
  101. }
  102.  
  103. s.sendMessage(prefix + ChatColor.GREEN + "Префикс сброшен!");
  104.  
  105. Team team = board.getTeam("t_" + p.getName());
  106.  
  107. if (team.getNameTagVisibility() != NameTagVisibility.ALWAYS) {
  108. team.setNameTagVisibility(NameTagVisibility.ALWAYS);
  109. }
  110. } else {
  111.  
  112. p.sendMessage(prefix + ChatColor.RED + "У вас нету своего префикса!");
  113. }
  114. }
  115. } else {
  116.  
  117. p.sendMessage(prefix + ChatColor.RED + "У вас нету прав для этого!");
  118. }
  119. }
  120.  
  121. if (args.length >= 2) {
  122.  
  123. if (args[0].equalsIgnoreCase("set")) {
  124.  
  125. if (s.hasPermission("tabtags.settag")) {
  126.  
  127. StringBuilder sb = new StringBuilder();
  128.  
  129. if (args.length > 1) {
  130.  
  131. sb.append(args[1] + " &9|&r ");
  132.  
  133. for (int i = 2; i < args.length; i++) {
  134. sb.append(" ");
  135. sb.append(args[i]);
  136. }
  137. }
  138.  
  139. Team team = board.getTeam("Q_" + p.getName());
  140.  
  141. if (team.getNameTagVisibility() != NameTagVisibility.ALWAYS) {
  142. team.setNameTagVisibility(NameTagVisibility.ALWAYS);
  143. }
  144.  
  145. team.setPrefix(StringUtils.replaceColors(sb.toString()));
  146. String newPrefix = StringUtils.replaceColors(sb.toString());
  147. p.sendMessage(prefix + ChatColor.RED + "Установлен префикс: " + newPrefix);
  148.  
  149. for (int i = 0; i < 4; i++) {
  150. p.setPlayerListName(newPrefix + p.getName());
  151. }
  152.  
  153. try {
  154. y.set(p.getName(), sb.toString());
  155. y.save(new File(TabTags.getInstance().getDataFolder(), "database.yml"));
  156. } catch (IOException e) {
  157. e.printStackTrace();
  158. }
  159. } else {
  160.  
  161. p.sendMessage(prefix + ChatColor.RED + "У вас нету прав для этого!");
  162. }
  163. }
  164. }
  165. return true;
  166. }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement