Advertisement
MCMarter

Untitled

Aug 18th, 2016
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.81 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.List;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.Listener;
  9. import org.bukkit.event.player.AsyncPlayerChatEvent;
  10. import org.bukkit.event.player.PlayerJoinEvent;
  11. import org.bukkit.event.player.PlayerQuitEvent;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. import net.md_5.bungee.api.ChatColor;
  15.  
  16. public class Main
  17. extends JavaPlugin
  18. implements Listener
  19. {
  20. public void onEnable()
  21. {
  22. Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable()
  23. {
  24. public void run()
  25. {
  26. List<String> curse = Main.this.getConfig().getStringList("Cursers");
  27. if (curse != null) {
  28. for (int i = 0; i < curse.size(); i++) {
  29. Main.this.getConfig().set("Curse." + toString(), null);
  30. Main.this.saveConfig();
  31. }
  32. }
  33. for (Player p : Bukkit.getOnlinePlayers()) {
  34. if (Main.this.players.containsKey(p))
  35. {
  36. Main.this.players.remove(p);
  37. if (Main.this.getConfig().contains(p.getUniqueId().toString()))
  38. {
  39. Main.this.getConfig().set("Curse." + p.getUniqueId().toString(), null);
  40. Main.this.saveConfig();
  41. }
  42. p.sendMessage(ChatColor.translateAlternateColorCodes('&', Main.this.getConfig().getString("Messages.Reset")));
  43. }
  44. }
  45. }
  46. }, 0L, 72000L);
  47. if (getConfig().getString("FilteredWords") == null)
  48. {
  49. List<String> filtered = new ArrayList<String>();
  50. filtered.add("fuck");
  51. filtered.add("shit");
  52. filtered.add("asshole");
  53. filtered.add("cunt");
  54. filtered.add("wanker");
  55. filtered.add("jew");
  56. filtered.add("fag");
  57. filtered.add("bullshit");
  58. filtered.add("motherfucker");
  59. getConfig().set("FilteredWords", filtered);
  60. saveConfig();
  61. }
  62. if (getConfig().getString("Prefix") == null)
  63. {
  64. getConfig().set("Prefix", "&c&lPREFIX&8: ");
  65. saveConfig();
  66. }
  67. if (getConfig().getString("Messages") == null)
  68. {
  69. getConfig().set("Messages.Reset", "&fYour curse warnings have been reset.");
  70. getConfig().set("Messages.Curse", "&fPlease do not curse. You have &c%amount% &fwarnings left.");
  71. saveConfig();
  72. }
  73. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  74. }
  75.  
  76. HashMap<Player, Integer> players = new HashMap<Player, Integer>();
  77.  
  78. @EventHandler
  79. public void pJoin(PlayerJoinEvent e)
  80. {
  81. List<String> curse = getConfig().getStringList("Cursers");
  82. if (curse == null) {
  83. return;
  84. }
  85. if (curse.contains(e.getPlayer().getName()))
  86. {
  87. int amount = getConfig().getInt("Curse." + e.getPlayer().getUniqueId().toString());
  88. this.players.put(e.getPlayer(), Integer.valueOf(amount));
  89. getConfig().set("Curse." + e.getPlayer().getUniqueId().toString(), null);
  90. saveConfig();
  91. e.getPlayer().sendMessage(color("&fYou have &c" + (5 - ((Integer)this.players.get(e.getPlayer())).intValue()) + " &fwarnings left."));
  92. List<String> cursev2 = new ArrayList<String>();
  93. if (curse != null)
  94. {
  95. for (String nme : curse)
  96. {
  97. cursev2.add(nme);
  98. cursev2.remove(e.getPlayer().getName());
  99. }
  100. getConfig().set("Cursers", cursev2);
  101. saveConfig();
  102. }
  103. }
  104. }
  105.  
  106. @EventHandler
  107. public void pQuit(PlayerQuitEvent e)
  108. {
  109. if (this.players.containsKey(e.getPlayer()))
  110. {
  111. getConfig().set("Curse." + e.getPlayer().getUniqueId().toString(), this.players.get(e.getPlayer()));
  112. saveConfig();
  113. List<String> curse = getConfig().getStringList("Cursers");
  114. List<String> cursev2 = new ArrayList<String>();
  115. if (curse != null)
  116. {
  117. for (String nme : curse)
  118. {
  119. cursev2.add(nme);
  120. if (curse.contains(e.getPlayer().getName())) {
  121. cursev2.remove(e.getPlayer().getName());
  122. }
  123. }
  124. cursev2.add(e.getPlayer().getName());
  125. getConfig().set("Cursers", cursev2);
  126. saveConfig();
  127. }
  128. else
  129. {
  130. cursev2.add(e.getPlayer().getName());
  131. getConfig().set("Cursers", cursev2);
  132. saveConfig();
  133. }
  134. }
  135. }
  136.  
  137. public String color(String msg)
  138. {
  139. return ChatColor.translateAlternateColorCodes('&', msg);
  140. }
  141.  
  142. @EventHandler
  143. public void pChat(AsyncPlayerChatEvent e)
  144. {
  145. String prefix = getConfig().getString("Prefix");
  146. List<String> curse = getConfig().getStringList("FilteredWords");
  147. for (String word : curse)
  148. {
  149. if (e.getPlayer().hasPermission("anticurse.bypass.*")) {
  150. return;
  151. }
  152. if (e.getMessage().toLowerCase().contains(word))
  153. {
  154. e.setCancelled(true);
  155. if (!this.players.containsKey(e.getPlayer()))
  156. {
  157. this.players.put(e.getPlayer(), Integer.valueOf(1));
  158. e.getPlayer().sendMessage(color(prefix + getConfig().getString("Messages.Curse").replace("%amount%", "4")));
  159. return;
  160. }
  161. int amount = ((Integer)this.players.get(e.getPlayer())).intValue();
  162. e.getPlayer().sendMessage(color(prefix + getConfig().getString("Messages.Curse").replace("%amount%", String.valueOf(4 - ((Integer)this.players.get(e.getPlayer())).intValue()))));
  163. this.players.remove(e.getPlayer());
  164. this.players.put(e.getPlayer(), Integer.valueOf(1 + amount));
  165. if (((Integer)this.players.get(e.getPlayer())).intValue() == 5)
  166. {
  167. Player p = e.getPlayer();
  168. Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ban " + p.getName() + " 10 minutes Cursing");
  169. this.players.remove(e.getPlayer());
  170. return;
  171. }
  172. }
  173. }
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement