Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.07 KB | None | 0 0
  1. public class ChatListener implements Listener {
  2. public static HashMap<String, String> prefixRename = new HashMap();
  3.  
  4. private static final String QUIZPREFIX = "�8[�3Quiz�8] ";
  5. private HashMap<Object, Object> supportWaiting = SupportChatCommand.supportWaiting;
  6. private HashMap<Object, Object> supportChannel = SupportChatCommand.supportChannel;
  7.  
  8.  
  9.  
  10. @EventHandler
  11. public void onChat(AsyncPlayerChatEvent event) {
  12. Player player = event.getPlayer();
  13. String chatMessage = event.getMessage();
  14.  
  15. SpigotUser user = SpigotUser.getUser(player);
  16.  
  17. String server = VaroxCore.getInstance().getConfigFile().getServer();
  18. boolean cityBuild = server.equalsIgnoreCase("CityBuild");
  19. boolean seaBuild = server.equalsIgnoreCase("SeaBuild");
  20.  
  21. boolean chatMute = ChatMuteCommand.MUTESTATE;
  22.  
  23. String currency = "";
  24. if (cityBuild) { currency = "&6 Voxis"; }
  25. else if (seaBuild) { currency = "&6 M�nzen"; }
  26.  
  27. Contexts contexts = LuckPerms.getApi().getContextManager().getApplicableContexts(player);
  28. MetaData Meta = ((User)Objects.requireNonNull(LuckPerms.getApi().getUser(event.getPlayer().getName()))).getCachedData().getMetaData(contexts);
  29. String Prefix = ((String)Objects.requireNonNull(Meta.getPrefix())).replaceAll("&", "�");
  30.  
  31. String EcoPapi = "�f%vault_eco_balance_formatted% ";
  32. String Eco = PlaceholderAPI.setPlaceholders(player, EcoPapi);
  33. String FraktionPapi = "�f%seacore_fraktion% ";
  34. String Fraktion = PlaceholderAPI.setPlaceholders(player, FraktionPapi);
  35.  
  36.  
  37.  
  38.  
  39. ComponentBuilder BUILDER_CITYBUILD_NOCLAN = (new ComponentBuilder("")).append("�eName: ").append(event.getPlayer().getName() + "\n").append("�eGuthaben: ").append(Eco + "Voxis");
  40. ComponentBuilder BUILDER_SEABUILD_NOCLAN = (new ComponentBuilder("")).append("�eName: ").append(event.getPlayer().getName() + "\n").append("�eGuthaben: ").append(Eco + "M�nzen\n").append("�eFraktion: ").append(Fraktion);
  41.  
  42. ComponentBuilder BUILDER_CITYBUILD = BUILDER_CITYBUILD_NOCLAN;
  43. ComponentBuilder BUILDER_SEABUILD = BUILDER_SEABUILD_NOCLAN;
  44.  
  45. if (event.isCancelled())
  46. return;
  47. if (prefixRename.containsKey(player.getName())) {
  48. if (!chatMessage.startsWith("cancel")) {
  49. event.setCancelled(true);
  50. String oldPrefix = (String)prefixRename.get(player.getName());
  51. VaroxCore.getInstance().getPrefixPerformer().renamePrefix(oldPrefix, "&8[" + chatMessage + "&8] &c");
  52. Bukkit.getScheduler().runTaskLater(VaroxCore.getInstance(), () -> prefixRename.clear(), 20L);
  53. player.sendMessage(Colors.convertStringWithColors("�8[�b�lVarox�8] �7&2Der Prefix wurde umbenannt in: &8[" + chatMessage
  54. .replaceAll("&", "�") + "&8] &c".replaceAll("&", "�")));
  55. return;
  56. }
  57. event.setCancelled(true);
  58. prefixRename.clear();
  59. player.sendMessage(Colors.convertStringWithColors("�8[�b�lVarox�8] �7&cDu hast die Aktion abgebrochen."));
  60. player.sendMessage(Colors.convertStringWithColors("�8[�b�lVarox�8] �7&2Der Chat wurde wieder freigegeben."));
  61. player.sendMessage(Colors.convertStringWithColors(""));
  62.  
  63. return;
  64. }
  65.  
  66. if (chatMute &&
  67. !player.hasPermission("chat.bypass")) {
  68. VaroxCore.getInstance().getMessageFile().sendChatMutedIsActiveMessage(player);
  69. event.setCancelled(true);
  70.  
  71. return;
  72. }
  73.  
  74. if (chatMessage.contains("&4") &&
  75. !player.hasPermission("*")) {
  76. VaroxCore.getInstance().getMessageFile().sendChatNotAllowed(player);
  77. event.setCancelled(true);
  78.  
  79. return;
  80. }
  81.  
  82. if (!player.hasPermission("chat.color")) {
  83. chatMessage = chatMessage.replace("&", "");
  84. } else {
  85. chatMessage = chatMessage.replace("&", "�");
  86. }
  87.  
  88. if (chatMessage.startsWith("@")) {
  89. event.setCancelled(true);
  90.  
  91. return;
  92. }
  93. if (QuizCommand.QUIZSTATE) {
  94. String answer = (String)QuizCommand.quizMap.get("Answer");
  95. int price = ((Integer)QuizCommand.quizMap.get("Price")).intValue();
  96.  
  97. if (chatMessage.equalsIgnoreCase(answer) || chatMessage.contains(answer)) {
  98. event.setCancelled(true);
  99.  
  100. for (Player all : Bukkit.getOnlinePlayers()) {
  101. all.sendMessage(Colors.convertStringWithColors(""));
  102. all.sendMessage(Colors.convertStringWithColors("&7--------------- [ &3&lQUIZ &7] ---------------"));
  103. all.sendMessage(Colors.convertStringWithColors(""));
  104. all.sendMessage(Colors.convertStringWithColors("�8[�3Quiz�8] &6Der Spieler&3 " + player.getName() + " &6hat gewonnen."));
  105. all.sendMessage(Colors.convertStringWithColors("�8[�3Quiz�8] &8? &6Die richtige Antwort war:&3 " + answer));
  106. all.sendMessage(Colors.convertStringWithColors("�8[�3Quiz�8] &8? &6Er gewinnt:&3 " + price + currency));
  107. all.sendMessage(Colors.convertStringWithColors(""));
  108. }
  109.  
  110. VaroxCore.econ.depositPlayer(player.getName(), price);
  111. player.sendMessage(Colors.convertStringWithColors("�8[�3Quiz�8] &2Du hast die Frage richtig beantwortet."));
  112. player.sendMessage(Colors.convertStringWithColors("�8[�3Quiz�8] &2Dir wurden &3" + price + currency + " &2gutgeschrieben."));
  113. player.sendMessage("");
  114.  
  115. Bukkit.getScheduler().cancelTask(QuizCommand.quizTaskId);
  116. QuizCommand.QUIZSTATE = false;
  117. QuizCommand.quizMap.clear();
  118.  
  119. return;
  120. }
  121. }
  122.  
  123. String colorCode = "";
  124. String chatFormat = "";
  125.  
  126. String chatFormatNoClan = VaroxCore.getInstance().getMessageFile().getChatFormat().replace("%PREFIX%", Prefix).replace("%PLAYER%", player.getDisplayName()).replace("&", "�");
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134. chatFormat = chatFormatNoClan;
  135.  
  136. if (user.existsPersistKey("autoColor") &&
  137. !user.getPersistValue("autoColor").equals(Boolean.valueOf(false))) {
  138. colorCode = (String)user.getPersistValue("autoColor");
  139. }
  140.  
  141.  
  142. if (user.existsPersistKey("autoColor") && !user.getPersistValue("autoColor").equals(Boolean.valueOf(false))) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", colorCode)); }
  143. else if (player.hasPermission("tab.admin")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�4")); }
  144. else if (player.hasPermission("tab.admin")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�4")); }
  145. else if (player.hasPermission("tab.dev")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�b")); }
  146. else if (player.hasPermission("tab.builder")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�f")); }
  147. else if (player.hasPermission("tab.mod")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�c")); }
  148. else if (player.hasPermission("tab.supp")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�2")); }
  149. else if (player.hasPermission("tab.tsupp")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�a")); }
  150. else if (player.hasPermission("tab.helfer")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�d")); }
  151. else if (player.hasPermission("tab.youtuber")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�c")); }
  152. else if (player.hasPermission("tab.primeplus")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�b")); }
  153. else if (player.hasPermission("tab.reaper")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�e")); }
  154. else if (player.hasPermission("tab.svip")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�c")); }
  155. else if (player.hasPermission("tab.supreme")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�c")); }
  156. else if (player.hasPermission("tab.chrome")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�a")); }
  157. else if (player.hasPermission("tab.prime")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�b")); }
  158. else if (player.hasPermission("tab.vibe")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�6")); }
  159. else if (player.hasPermission("tab.spieler")) { event.setFormat(chatFormat.replace("%CHAT_COLOR%", "�f")); }
  160.  
  161. String format = event.getFormat() + chatMessage;
  162.  
  163. TextComponent formatCityBuild = new TextComponent(TextComponent.fromLegacyText(format));
  164. formatCityBuild.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, BUILDER_CITYBUILD.create()));
  165. formatCityBuild.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/msg " + event.getPlayer().getName()));
  166.  
  167. TextComponent formatSeaBuild = new TextComponent(TextComponent.fromLegacyText(format));
  168. formatSeaBuild.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, BUILDER_SEABUILD.create()));
  169. formatSeaBuild.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/msg " + event.getPlayer().getName()));
  170.  
  171.  
  172. for (Map.Entry<Object, Object> entry : this.supportChannel.entrySet()) {
  173. String suppFormat = Colors.convertStringWithColors("&8[&2SC&8] " + event.getFormat() + chatMessage);
  174. if (entry.getValue().equals(player.getUniqueId()) || entry.getKey().equals(player.getUniqueId())) {
  175. List<Object> support = new ArrayList<Object>();
  176. support.add(entry.getValue());
  177. support.add(entry.getKey());
  178. support.forEach(o -> {
  179. event.setCancelled(true);
  180. UUID uuid = (UUID)o;
  181. Player player1 = Bukkit.getPlayer(uuid);
  182. player1.sendMessage(suppFormat);
  183. });
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194. return;
  195. }
  196. }
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206. for (Player all : Bukkit.getOnlinePlayers()) {
  207. if (!chatMessage.startsWith("/")) {
  208. event.setCancelled(true);
  209.  
  210. SpigotUser spigotUser = SpigotUser.getUser(all);
  211. if (!spigotUser.existsPersistKey("supportState") || spigotUser.getPersistValue("supportState").equals(Boolean.valueOf(false))) {
  212. if (cityBuild) { all.spigot().sendMessage(formatCityBuild); continue; }
  213. if (seaBuild) all.spigot().sendMessage(formatSeaBuild);
  214. }
  215. }
  216. }
  217. }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement