Advertisement
Guest User

Rogue

a guest
Apr 12th, 2016
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.47 KB | None | 0 0
  1. package me.bryan.rogue;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.OfflinePlayer;
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandSender;
  8. import org.bukkit.entity.Entity;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.entity.Snowball;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.EventPriority;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  15. import org.bukkit.event.player.AsyncPlayerChatEvent;
  16. import org.bukkit.event.player.PlayerJoinEvent;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18. import org.bukkit.scheduler.BukkitRunnable;
  19. import org.bukkit.scoreboard.Scoreboard;
  20. import org.bukkit.scoreboard.Team;
  21.  
  22. public class rogue extends JavaPlugin implements Listener {
  23.    
  24.     Team team = null;
  25.    
  26.     public void onEnable() {
  27.         getLogger().info("Rogue is now enabled.");
  28.         Bukkit.getServer().getPluginManager().registerEvents(this, this);
  29.        
  30.     }
  31.    
  32.     public void onDisable() {
  33.        
  34.         getLogger().info("Rogue is now disabled.");
  35.        
  36.         }
  37.    
  38.     @EventHandler(priority = EventPriority.HIGHEST)
  39.     public void onChat(AsyncPlayerChatEvent event){
  40.     String uuid = event.getPlayer().getUniqueId().toString();
  41.     if(getConfig().getInt("Players." + uuid + ".tag") == 1){
  42.         event.setCancelled(true);
  43.        
  44.         for(Player p : getServer().getOnlinePlayers()){
  45.             p.sendMessage(ChatColor.RED + "[ROGUE] " + "<" + event.getPlayer().getName()
  46.                     + "> " + event.getMessage());  
  47.                
  48.             Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "[ROGUE] " + "<" + event.getPlayer().getName()
  49.                     + "> " + event.getMessage());      
  50.             }
  51.         }
  52.     }
  53.    
  54.     public void follow(final Player player){
  55.         Scoreboard board1 = Bukkit.getScoreboardManager().getMainScoreboard();
  56.         String uuid = player.getUniqueId().toString(); 
  57.         new BukkitRunnable(){
  58.     @SuppressWarnings("deprecation")
  59.     @Override
  60.         public void run(){
  61.           if(getConfig().getInt("Players." + uuid + ".time") >= 1){
  62.              getConfig().set("Players." +  uuid + ".time", getConfig().getInt("Players." + uuid + ".time") - 1);
  63.              saveConfig();
  64.             }
  65.         if(getConfig().getInt("Players." + uuid + ".time") == 1){
  66.             if (team == null) {
  67.                 team = board1.registerNewTeam(player.getName());
  68.                 }
  69.                 team.removePlayer(player);
  70.                 team.unregister();
  71.              getConfig().set("Players." +  uuid + ".time", 0);
  72.              getConfig().set("Players." +  uuid + ".tag", 0);
  73.              saveConfig();
  74.  
  75.         }
  76.       }  
  77.         }.runTaskTimer(this, 0L, 20L);
  78.     }
  79.    
  80.    
  81.     @EventHandler
  82.     public void onPlayerJoin(PlayerJoinEvent e) {
  83.         Player p = e.getPlayer();
  84.         String uuid = p.getUniqueId().toString();
  85.        
  86.         if(getConfig().getInt("Players." + uuid + ".time") >= 1){
  87.              follow(p);
  88.             }
  89.  
  90.         if(!getConfig().contains("Players." + uuid + ".Name" + p.getName())){
  91.             getConfig().set("Players." +  uuid + ".Name", p.getName());
  92.             saveConfig();
  93.         }  
  94.     }
  95.    
  96.     @SuppressWarnings("deprecation")
  97.     @EventHandler
  98.     public void onPlayerHitPlayer(EntityDamageByEntityEvent e){
  99.     Scoreboard board1 = Bukkit.getScoreboardManager().getMainScoreboard();
  100.     Entity entity = e.getDamager();
  101.     if (entity instanceof Snowball) {
  102.         Snowball snowball = (Snowball) e.getDamager();
  103.         Player thrower = (Player) snowball.getShooter();
  104.         String uuid = thrower.getUniqueId().toString();
  105.  
  106.      if(!(getConfig().contains("Players." + uuid))){
  107.               getConfig().set("Players." +  uuid + ".tag", 0);
  108.               getConfig().set("Players." +  uuid + ".Name", thrower.getName());
  109.               getConfig().set("Players." +  uuid + ".time", 0);
  110.               saveConfig();
  111.            
  112.            }else
  113.       if(!(getConfig().getInt("Players." + uuid + ".tag") == 1))
  114.            getConfig().set("Players." + uuid + ".tag", 1);
  115.            getConfig().set("Players." +  uuid + ".time", 60);
  116.            saveConfig();
  117.            if (board1.getTeam(thrower.getName()) == null) {
  118.                  team = board1.registerNewTeam(thrower.getName());
  119.                  team.setPrefix(ChatColor.RED + "[ROGUE] ");
  120.                  team.addPlayer(thrower);
  121.                  thrower.sendMessage(ChatColor.DARK_RED + " You have gone rogue.");
  122.                  follow(thrower);
  123.               }
  124.            
  125.        }        
  126.     }
  127.    
  128.     @SuppressWarnings("deprecation")
  129.     @EventHandler
  130.     public void onEntityDamageByEntity (EntityDamageByEntityEvent event) {
  131.         Scoreboard board1 = Bukkit.getScoreboardManager().getMainScoreboard();
  132.         if (event.getDamager() instanceof Player && event.getEntity() instanceof Player) {
  133.             Player attacker = (Player) event.getDamager();
  134.             String uuid = attacker.getUniqueId().toString();
  135.            
  136.        if(!(getConfig().contains("Players." + uuid))){
  137.               getConfig().set("Players." +  uuid + ".tag", 0);
  138.               getConfig().set("Players." +  uuid + ".Name", attacker.getName());
  139.               getConfig().set("Players." +  uuid + ".time", 0);
  140.               saveConfig();
  141.            }
  142.        if(!(getConfig().getInt("Players." + uuid + ".tag") == 1))
  143.            getConfig().set("Players." + uuid + ".tag", 1);
  144.            getConfig().set("Players." +  uuid + ".time", 60);
  145.            saveConfig();
  146.         if (board1.getTeam(attacker.getName()) == null) {
  147.                  team = board1.registerNewTeam(attacker.getName());
  148.                  team.setPrefix(ChatColor.RED + "[ROGUE] ");
  149.                  team.addPlayer(attacker);
  150.                  attacker.sendMessage(ChatColor.DARK_RED + " You have gone rogue.");
  151.                  follow(attacker);
  152.               }
  153.            
  154.           }                    
  155.     }
  156.    
  157.     @SuppressWarnings("deprecation")
  158.     public boolean onCommand(CommandSender sender, Command command, String label,
  159.             String[] args) {
  160.         Scoreboard board1 = Bukkit.getScoreboardManager().getMainScoreboard();
  161.         String uuid = ((OfflinePlayer) sender).getUniqueId().toString();
  162.         Player player = (Player) sender;
  163.         for (Player online : Bukkit.getOnlinePlayers()) {
  164.         Scoreboard scoreboard = online.getScoreboard();
  165.          Team team2 = scoreboard.getTeam(player.getName());
  166.         if(command.getName().equalsIgnoreCase("removekill")){
  167.            
  168.             if(player.hasPermission("rogue.remove")){
  169.                 if (team2 == null) {
  170.                 team2 = board1.registerNewTeam(sender.getName());
  171.                 }
  172.                 team2.removePlayer(player);
  173.                 team2.unregister();
  174.               getConfig().set("Players." +  uuid + ".tag", 0);
  175.               getConfig().set("Players." +  uuid + ".time", 0);
  176.               saveConfig();
  177.             }
  178.         player.sendMessage(ChatColor.GOLD + " You have been given a secound chance.");
  179.         }  
  180.         }
  181.         return false;
  182.     }
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement