Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import net.md_5.bungee.api.ChatColor;
- public class Main
- extends JavaPlugin
- implements Listener
- {
- public void onEnable()
- {
- Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable()
- {
- public void run()
- {
- List<String> curse = Main.this.getConfig().getStringList("Cursers");
- if (curse != null) {
- for (int i = 0; i < curse.size(); i++) {
- Main.this.getConfig().set("Curse." + toString(), null);
- Main.this.saveConfig();
- }
- }
- for (Player p : Bukkit.getOnlinePlayers()) {
- if (Main.this.players.containsKey(p))
- {
- Main.this.players.remove(p);
- if (Main.this.getConfig().contains(p.getUniqueId().toString()))
- {
- Main.this.getConfig().set("Curse." + p.getUniqueId().toString(), null);
- Main.this.saveConfig();
- }
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', Main.this.getConfig().getString("Messages.Reset")));
- }
- }
- }
- }, 0L, 72000L);
- if (getConfig().getString("FilteredWords") == null)
- {
- List<String> filtered = new ArrayList<String>();
- filtered.add("fuck");
- filtered.add("shit");
- filtered.add("asshole");
- filtered.add("cunt");
- filtered.add("wanker");
- filtered.add("jew");
- filtered.add("fag");
- filtered.add("bullshit");
- filtered.add("motherfucker");
- getConfig().set("FilteredWords", filtered);
- saveConfig();
- }
- if (getConfig().getString("Prefix") == null)
- {
- getConfig().set("Prefix", "&c&lPREFIX&8: ");
- saveConfig();
- }
- if (getConfig().getString("Messages") == null)
- {
- getConfig().set("Messages.Reset", "&fYour curse warnings have been reset.");
- getConfig().set("Messages.Curse", "&fPlease do not curse. You have &c%amount% &fwarnings left.");
- saveConfig();
- }
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- }
- HashMap<Player, Integer> players = new HashMap<Player, Integer>();
- @EventHandler
- public void pJoin(PlayerJoinEvent e)
- {
- List<String> curse = getConfig().getStringList("Cursers");
- if (curse == null) {
- return;
- }
- if (curse.contains(e.getPlayer().getName()))
- {
- int amount = getConfig().getInt("Curse." + e.getPlayer().getUniqueId().toString());
- this.players.put(e.getPlayer(), Integer.valueOf(amount));
- getConfig().set("Curse." + e.getPlayer().getUniqueId().toString(), null);
- saveConfig();
- e.getPlayer().sendMessage(color("&fYou have &c" + (5 - ((Integer)this.players.get(e.getPlayer())).intValue()) + " &fwarnings left."));
- List<String> cursev2 = new ArrayList<String>();
- if (curse != null)
- {
- for (String nme : curse)
- {
- cursev2.add(nme);
- cursev2.remove(e.getPlayer().getName());
- }
- getConfig().set("Cursers", cursev2);
- saveConfig();
- }
- }
- }
- @EventHandler
- public void pQuit(PlayerQuitEvent e)
- {
- if (this.players.containsKey(e.getPlayer()))
- {
- getConfig().set("Curse." + e.getPlayer().getUniqueId().toString(), this.players.get(e.getPlayer()));
- saveConfig();
- List<String> curse = getConfig().getStringList("Cursers");
- List<String> cursev2 = new ArrayList<String>();
- if (curse != null)
- {
- for (String nme : curse)
- {
- cursev2.add(nme);
- if (curse.contains(e.getPlayer().getName())) {
- cursev2.remove(e.getPlayer().getName());
- }
- }
- cursev2.add(e.getPlayer().getName());
- getConfig().set("Cursers", cursev2);
- saveConfig();
- }
- else
- {
- cursev2.add(e.getPlayer().getName());
- getConfig().set("Cursers", cursev2);
- saveConfig();
- }
- }
- }
- public String color(String msg)
- {
- return ChatColor.translateAlternateColorCodes('&', msg);
- }
- @EventHandler
- public void pChat(AsyncPlayerChatEvent e)
- {
- String prefix = getConfig().getString("Prefix");
- List<String> curse = getConfig().getStringList("FilteredWords");
- for (String word : curse)
- {
- if (e.getPlayer().hasPermission("anticurse.bypass.*")) {
- return;
- }
- if (e.getMessage().toLowerCase().contains(word))
- {
- e.setCancelled(true);
- if (!this.players.containsKey(e.getPlayer()))
- {
- this.players.put(e.getPlayer(), Integer.valueOf(1));
- e.getPlayer().sendMessage(color(prefix + getConfig().getString("Messages.Curse").replace("%amount%", "4")));
- return;
- }
- int amount = ((Integer)this.players.get(e.getPlayer())).intValue();
- e.getPlayer().sendMessage(color(prefix + getConfig().getString("Messages.Curse").replace("%amount%", String.valueOf(4 - ((Integer)this.players.get(e.getPlayer())).intValue()))));
- this.players.remove(e.getPlayer());
- this.players.put(e.getPlayer(), Integer.valueOf(1 + amount));
- if (((Integer)this.players.get(e.getPlayer())).intValue() == 5)
- {
- Player p = e.getPlayer();
- Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ban " + p.getName() + " 10 minutes Cursing");
- this.players.remove(e.getPlayer());
- return;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement