Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.42 KB | None | 0 0
  1. package net.vivererp;
  2.  
  3. import java.util.logging.Logger;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.player.PlayerJoinEvent;
  13. import org.bukkit.plugin.java.JavaPlugin;
  14. import org.bukkit.scoreboard.Scoreboard;
  15. import org.bukkit.scoreboard.Team;
  16.  
  17.  
  18. public class Main extends JavaPlugin implements Listener {
  19. private Scoreboard score;
  20. private Team HiddenTags;
  21. private Team ShownTags;
  22.  
  23. public void onEnable() {
  24. if(getServer().getScoreboardManager().getMainScoreboard() == null){
  25. score = getServer().getScoreboardManager().getNewScoreboard();
  26. }else{
  27. score = getServer().getScoreboardManager().getMainScoreboard();
  28. }
  29. boolean ErroredTheFuckOut = false;
  30. try{
  31. Team HT = score.registerNewTeam("HiddenTags");
  32. Team ST = score.registerNewTeam("ShownTags");
  33. HiddenTags = HT;
  34. ShownTags = ST;
  35. }catch(IllegalArgumentException e){
  36. e.printStackTrace();
  37. ErroredTheFuckOut = true;
  38. }
  39. if(!ErroredTheFuckOut){
  40. this.HiddenTags.setOption(Team.Option.NAME_TAG_VISIBILITY, Team.OptionStatus.NEVER);
  41. this.HiddenTags.setOption(Team.Option.COLLISION_RULE, Team.OptionStatus.NEVER);
  42. this.ShownTags.setOption(Team.Option.NAME_TAG_VISIBILITY, Team.OptionStatus.ALWAYS);
  43. this.ShownTags.setOption(Team.Option.COLLISION_RULE, Team.OptionStatus.NEVER);
  44. }
  45.  
  46. getCommand("nametag").setExecutor(this);
  47. getServer().getPluginManager().registerEvents(this, this);
  48. }
  49.  
  50. @EventHandler
  51. public void onPlayerJoin(PlayerJoinEvent e) {
  52. Logger.getLogger("Player joined!: "+e.getPlayer().getName());
  53. boolean Contained = false;
  54. for (Team team : score.getTeams()) {
  55. if (team.hasEntry(e.getPlayer().getName())) {
  56. Logger.getLogger(e.getPlayer().getName()+" has been found in "+team.getName());
  57. Contained = true;
  58. }
  59. }
  60. if (!Contained) {
  61. score.getTeam("HiddenTags").addEntry(e.getPlayer().getName());
  62. }
  63. }
  64.  
  65. public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args){
  66. if(commandLabel.equalsIgnoreCase("nametag")){
  67. if(!(sender instanceof Player)){
  68. Logger.getLogger("Cant use from console.");
  69. return true;
  70. }else{
  71. Player p = Bukkit.getServer().getPlayer(sender.getName());
  72. if(args.length == 0){
  73. sender.sendMessage(ChatColor.GOLD+"Usage: /nametag hide|show");
  74. return true;
  75. }else if(args.length == 1){
  76. if(args[0].equalsIgnoreCase("hide")){
  77. if(this.score.getTeam("HiddenTags").hasEntry(p.getName())){
  78. //if(this.HiddenTags.hasEntry(sender.getName())){
  79. sender.sendMessage(ChatColor.GOLD+"Tag already hidden!");
  80. return true;
  81. }else{
  82. score.getEntryTeam(p.getName()).removeEntry(p.getName());
  83. score.getTeam("HiddenTags").addEntry(p.getName());
  84. sender.sendMessage(ChatColor.GOLD+"Tag Hidden!");
  85. return true;
  86. }
  87. }
  88. if(args[0].equalsIgnoreCase("show")){
  89. if(score.getTeam("ShownTags").hasEntry(p.getName())){
  90. sender.sendMessage(ChatColor.GOLD+"Tag already shown!");
  91. return true;
  92. }else{
  93. score.getEntryTeam(p.getName()).removeEntry(p.getName());
  94. score.getTeam("ShownTags").addEntry(p.getName());
  95. sender.sendMessage(ChatColor.GOLD+"Tag Shown!");
  96. return true;
  97. }
  98. }
  99. }else if(args.length >= 2){
  100. if(p.hasPermission("tagsystem.others")){
  101. if(Bukkit.getServer().getPlayer(args[1])!=null){
  102. if(args[0].equalsIgnoreCase("hide")){
  103. if(score.getTeam("HiddenTags").hasEntry(args[1])){
  104. sender.sendMessage(ChatColor.GOLD+"Tag already hidden for"+p.getName()+" !");
  105. return true;
  106. }else{
  107. score.getEntryTeam(p.getName()).removeEntry(args[1]);
  108. score.getTeam("HiddenTags").addEntry(args[1]);
  109. sender.sendMessage(ChatColor.GOLD+"Tag Hidden for"+p.getName()+" !");
  110. return true;
  111. }
  112. }else if(args[0].equalsIgnoreCase("show")){
  113. if(score.getTeam("ShownTags").hasEntry(args[1])){
  114. sender.sendMessage(ChatColor.GOLD+"Tag already shownfor"+p.getName()+" !");
  115. return true;
  116. }else{
  117. score.getEntryTeam(p.getName()).removeEntry(args[1]);
  118. score.getTeam("ShownTags").addEntry(args[1]);
  119. sender.sendMessage(ChatColor.GOLD+"Tag Shown for"+p.getName()+" !");
  120. return true;
  121. }
  122. }
  123. }else{
  124. sender.sendMessage(ChatColor.RED+"Player not online.");
  125. }
  126. }else{
  127. if(args[0].equalsIgnoreCase("hide")){
  128. if(score.getTeam("HiddenTags").hasEntry(p.getName())){
  129. sender.sendMessage(ChatColor.GOLD+"Tag already hidden!");
  130. return true;
  131. }else{
  132. score.getEntryTeam(p.getName()).removeEntry(p.getName());
  133. score.getTeam("HiddenTags").addEntry(p.getName());
  134. sender.sendMessage(ChatColor.GOLD+"Tag Hidden!");
  135. return true;
  136. }
  137. }
  138. if(args[0].equalsIgnoreCase("show")){
  139. if(score.getTeam("ShownTags").hasEntry(p.getName())){
  140. sender.sendMessage(ChatColor.GOLD+"Tag already shown!");
  141. }else{
  142. score.getEntryTeam(p.getName()).removeEntry(p.getName());
  143. score.getTeam("ShownTags").addEntry(p.getName());
  144. sender.sendMessage(ChatColor.GOLD+"Tag Shown!");
  145. return true;
  146. }
  147.  
  148. }
  149. }
  150. }
  151. }
  152. }
  153. return false;
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement