Advertisement
Kraftowany

Untitled

Sep 22nd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. package pl.kopara.guild.NameTag.modes;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.OfflinePlayer;
  5. import org.bukkit.entity.Player;
  6. import org.bukkit.scoreboard.Scoreboard;
  7. import org.bukkit.scoreboard.Team;
  8. import pl.kopara.guild.NameTag.NameTag;
  9. import pl.kopara.guild.NameTag.NameTagMode;
  10. import pl.kopara.guild.data.base.guild.Guild;
  11. import pl.kopara.guild.managers.GuildManager;
  12. import pl.kopara.guild.utils.ChatUtil;
  13. import pl.sunnytm.api.Config;
  14.  
  15. public class ScoreBoardNameTag implements NameTag
  16. {
  17. private static String parse(final String color, final Guild g) {
  18. if (g == null) {
  19. return ChatUtil.fixColor(color);
  20. }
  21. String msg = Config.TAG_FORMAT;
  22. msg = msg.replace("{TAG}", g.getTag());
  23. msg = msg.replace("{COLOR}", color);
  24. return ChatUtil.fixColor(msg);
  25. }
  26.  
  27. public void initPlayer(final Player p) {
  28. final Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
  29. final Guild g = GuildManager.getGuild(p);
  30. for (final Guild o : GuildManager.getGuilds().values()) {
  31. Team t = sb.getTeam(o.getTag());
  32. if (t == null) {
  33. t = sb.registerNewTeam(o.getTag());
  34. }
  35. if (g == null) {
  36. t.setPrefix(parse(Config.TAG_COLOR_ENEMY, o));
  37. }
  38. else if (g.getTag().equalsIgnoreCase(o.getTag())) {
  39. t.setPrefix(parse(Config.TAG_COLOR_FRIEND, o));
  40. }
  41. else if (o.getAlly().contains(g.getTag())) {
  42. t.setPrefix(parse(Config.TAG_COLOR_ALLIANCE, o));
  43. }
  44. else {
  45. t.setPrefix(parse(Config.TAG_COLOR_ENEMY, o));
  46. }
  47. }
  48. Team noguild = sb.getTeam("noguild");
  49. if (noguild == null) {
  50. noguild = sb.registerNewTeam("noguild");
  51. noguild.setAllowFriendlyFire(true);
  52. noguild.setCanSeeFriendlyInvisibles(false);
  53. noguild.setPrefix(parse(Config.TAG_COLOR_NOGUILD, null));
  54. }
  55. p.setScoreboard(sb);
  56. for (final Player online : Bukkit.getOnlinePlayers()) {
  57. online.getScoreboard().getTeam((g != null) ? g.getTag() : "noguild").addPlayer((OfflinePlayer)p);
  58. final Guild onlineguild = GuildManager.getGuild(online);
  59. p.getScoreboard().getTeam((onlineguild != null) ? onlineguild.getTag() : "noguild").addPlayer((OfflinePlayer)online);
  60. }
  61. }
  62.  
  63. public void createGuild(final Guild g, final Player p) {
  64. for (final Player o : Bukkit.getOnlinePlayers()) {
  65. final Scoreboard sb = o.getScoreboard();
  66. final Team t = sb.registerNewTeam(g.getTag());
  67. if (o == p) {
  68. t.setPrefix(parse(Config.TAG_COLOR_FRIEND, g));
  69. }
  70. else {
  71. t.setPrefix(parse(Config.TAG_COLOR_ENEMY, g));
  72. }
  73. t.addPlayer((OfflinePlayer)p);
  74. }
  75. }
  76.  
  77. public void removeGuild(final Guild g) {
  78. for (final Player p : Bukkit.getOnlinePlayers()) {
  79. final Scoreboard sb = p.getScoreboard();
  80. sb.getTeam(g.getTag()).unregister();
  81. final Team noguild = sb.getTeam("noguild");
  82. for (final Player guildplayer : g.getOnlineMembers()) {
  83. noguild.addPlayer((OfflinePlayer)guildplayer);
  84. }
  85. }
  86. }
  87.  
  88. public void joinToGuild(final Guild g, final Player p) {
  89. for (final Player o : Bukkit.getOnlinePlayers()) {
  90. o.getScoreboard().getTeam(g.getTag()).addPlayer((OfflinePlayer)p);
  91. }
  92. p.getScoreboard().getTeam(g.getTag()).setPrefix(parse(Config.TAG_COLOR_FRIEND, g));
  93. }
  94.  
  95. public void leaveFromGuild(final Guild g, final OfflinePlayer p) {
  96. for (final Player o : Bukkit.getOnlinePlayers()) {
  97. o.getScoreboard().getTeam("noguild").addPlayer(p);
  98. }
  99. if (p.isOnline()) {
  100. p.getPlayer().getScoreboard().getTeam(g.getTag()).setPrefix(parse(Config.TAG_COLOR_ENEMY, g));
  101. }
  102. }
  103.  
  104. public void createAlliance(final Guild g, final Guild o) {
  105. for (final Player p : g.getOnlineMembers()) {
  106. final Team t = p.getScoreboard().getTeam(o.getTag());
  107. if (t != null) {
  108. t.setPrefix(parse(Config.TAG_COLOR_ALLIANCE, o));
  109. }
  110. }
  111. for (final Player p : o.getOnlineMembers()) {
  112. final Team t = p.getScoreboard().getTeam(g.getTag());
  113. if (t != null) {
  114. t.setPrefix(parse(Config.TAG_COLOR_ALLIANCE, g));
  115. }
  116. }
  117. }
  118.  
  119. public void removeAlliance(final Guild g, final Guild o) {
  120. for (final Player p : g.getOnlineMembers()) {
  121. final Team t = p.getScoreboard().getTeam(o.getTag());
  122. if (t != null) {
  123. t.setPrefix(parse(Config.TAG_COLOR_ENEMY, o));
  124. }
  125. }
  126. for (final Player p : o.getOnlineMembers()) {
  127. final Team t = p.getScoreboard().getTeam(g.getTag());
  128. if (t != null) {
  129. t.setPrefix(parse(Config.TAG_COLOR_ENEMY, g));
  130. }
  131. }
  132. }
  133.  
  134. public NameTagMode getNameTagMode() {
  135. return NameTagMode.SCOREBOARD;
  136. }
  137.  
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement